クラス CurrentSecurityContextArgumentResolver

  • 実装されたすべてのインターフェース:
    org.springframework.web.method.support.HandlerMethodArgumentResolver

    public final class CurrentSecurityContextArgumentResolver
    extends java.lang.Object
    implements org.springframework.web.method.support.HandlerMethodArgumentResolver
    CurrentSecurityContext アノテーションを使用して SecurityContext を解決できます。例: 次の Controller:
     @Controller
     public class MyController {
         @RequestMapping("/im")
         public void security(@CurrentSecurityContext SecurityContext context) {
             // do something with context
         }
     }
     
    また、SecurityContext から値を取得するための SpringSPEL 式をサポートすることもできます。
     @Controller
     public class MyController {
         @RequestMapping("/im")
         public void security(@CurrentSecurityContext(expression="authentication") Authentication authentication) {
             // do something with context
         }
     }
     

    SecurityContextHolderSecurityContextHolder.getContext() を使用して SecurityContext 引数を解決します。SecurityContext が null の場合、null を返します。型が一致しない場合、CurrentSecurityContext.errorOnInvalidType() が true でない限り、null が返されます。この場合、ClassCastException がスローされます。

    導入:
    5.2
    • コンストラクターの詳細

      • CurrentSecurityContextArgumentResolver

        public CurrentSecurityContextArgumentResolver()
    • メソッドの詳細

      • supportsParameter

        public boolean supportsParameter​(org.springframework.core.MethodParameter parameter)
        次で指定:
        インターフェース org.springframework.web.method.support.HandlerMethodArgumentResolversupportsParameter 
      • 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)
        次で指定:
        インターフェース org.springframework.web.method.support.HandlerMethodArgumentResolverresolveArgument 
      • setBeanResolver

        public void setBeanResolver​(org.springframework.expression.BeanResolver beanResolver)
        式で使用する BeanResolver を設定します
        パラメーター:
        beanResolver - 使用する BeanResolver