Annotation Interface WithUserDetails
@Target({METHOD,TYPE})
@Retention(RUNTIME)
@Inherited
@Documented
@WithSecurityContext(factory=org.springframework.security.test.context.support.WithUserDetailsSecurityContextFactory.class)
public @interface WithUserDetails
When used with
WithSecurityContextTestExecutionListener
this annotation can be
added to a test method to emulate running with a UserDetails
returned from the
UserDetailsService
. In order to work with MockMvc
The
SecurityContext
that is used will have the following properties:
- The
SecurityContext
created with be that ofSecurityContextHolder.createEmptyContext()
- It will be populated with an
UsernamePasswordAuthenticationToken
that uses the username ofvalue()
.
- Since:
- 4.0
- See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionDetermines when theSecurityContext
is setup.The bean name for theUserDetailsService
to use.The username to look up in theUserDetailsService
-
Element Details
-
value
String valueThe username to look up in theUserDetailsService
- Returns:
- Default:
- "user"
-
userDetailsServiceBeanName
String userDetailsServiceBeanNameThe bean name for theUserDetailsService
to use. If this is not provided, then the lookup is done by type and expects only a singleUserDetailsService
bean to be exposed.- Returns:
- the bean name for the
UserDetailsService
to use. - Since:
- 4.1
- Default:
- ""
-
setupBefore
Determines when theSecurityContext
is setup. The default is beforeTestExecutionEvent.TEST_METHOD
which occurs duringTestExecutionListener.beforeTestMethod(TestContext)
- Returns:
- the
TestExecutionEvent
to initialize before - Since:
- 5.1
- Default:
- TEST_METHOD
-