Class AuthenticationPrincipalArgumentResolver
java.lang.Object
org.springframework.security.web.bind.support.AuthenticationPrincipalArgumentResolver
- All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodArgumentResolver
@Deprecated
public final class AuthenticationPrincipalArgumentResolver
extends Object
implements org.springframework.web.method.support.HandlerMethodArgumentResolver
Deprecated.
Allows resolving the
Authentication.getPrincipal()
using the
AuthenticationPrincipal
annotation. For example, the following
Controller
:
@Controller public class MyController { @RequestMapping("/user/current/show") public String show(@AuthenticationPrincipal CustomUser customUser) { // do something with CustomUser return "view"; } }
Will resolve the CustomUser argument using Authentication.getPrincipal()
from
the SecurityContextHolder
. If the Authentication
or
Authentication.getPrincipal()
is null, it will return null. If the types do not
match, null will be returned unless
AuthenticationPrincipal.errorOnInvalidType()
is true in which case a
ClassCastException
will be thrown.
Alternatively, users can create a custom meta annotation as shown below:
@Target({ ElementType.PARAMETER }) @Retention(RetentionPolicy.RUNTIME) @AuthenticationPrincipal public @interface CurrentUser { }
The custom annotation can then be used instead. For example:
@Controller public class MyController { @RequestMapping("/user/current/show") public String show(@CurrentUser CustomUser customUser) { // do something with CustomUser return "view"; } }
- Since:
- 3.2
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionresolveArgument
(org.springframework.core.MethodParameter parameter, org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest, org.springframework.web.bind.support.WebDataBinderFactory binderFactory) Deprecated.boolean
supportsParameter
(org.springframework.core.MethodParameter parameter) Deprecated.
-
Constructor Details
-
AuthenticationPrincipalArgumentResolver
public AuthenticationPrincipalArgumentResolver()Deprecated.
-
-
Method Details
-
supportsParameter
public boolean supportsParameter(org.springframework.core.MethodParameter parameter) Deprecated.- Specified by:
supportsParameter
in interfaceorg.springframework.web.method.support.HandlerMethodArgumentResolver
-
resolveArgument
public Object resolveArgument(org.springframework.core.MethodParameter parameter, org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest, org.springframework.web.bind.support.WebDataBinderFactory binderFactory) Deprecated.- Specified by:
resolveArgument
in interfaceorg.springframework.web.method.support.HandlerMethodArgumentResolver
-
AuthenticationPrincipalArgumentResolver
instead.