クラス CurrentSecurityContextArgumentResolver

java.lang.ObjectSE
org.springframework.security.web.method.annotation.CurrentSecurityContextArgumentResolver
実装されたすべてのインターフェース:
org.springframework.web.method.support.HandlerMethodArgumentResolver

public final class CurrentSecurityContextArgumentResolver extends ObjectSE 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
     }
 }
 

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

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

    • CurrentSecurityContextArgumentResolver

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

    • supportsParameter

      public boolean supportsParameter(org.springframework.core.MethodParameter parameter)
      次で指定:
      インターフェース org.springframework.web.method.support.HandlerMethodArgumentResolversupportsParameter 
    • resolveArgument

      public ObjectSE 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 
    • setSecurityContextHolderStrategy

      public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy)
      使用する SecurityContextHolderStrategy を設定します。デフォルトのアクションは、SecurityContextHolder に格納されている SecurityContextHolderStrategy を使用することです。
      導入:
      5.8
    • setBeanResolver

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