Class AuthenticationPrincipalArgumentResolver

  • All Implemented Interfaces:
    org.springframework.web.method.support.HandlerMethodArgumentResolver

    @Deprecated
    public final class AuthenticationPrincipalArgumentResolver
    extends java.lang.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
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      java.lang.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.
       
      boolean supportsParameter​(org.springframework.core.MethodParameter parameter)
      Deprecated.
       
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AuthenticationPrincipalArgumentResolver

        public AuthenticationPrincipalArgumentResolver()
        Deprecated.
    • Method Detail

      • supportsParameter

        public boolean supportsParameter​(org.springframework.core.MethodParameter parameter)
        Deprecated.
        Specified by:
        supportsParameter in interface org.springframework.web.method.support.HandlerMethodArgumentResolver
      • resolveArgument

        public java.lang.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 interface org.springframework.web.method.support.HandlerMethodArgumentResolver