クラス 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
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明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) voidsetBeanResolver(org.springframework.expression.BeanResolver beanResolver) 式で使用するBeanResolverを設定しますvoidsetSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategyを設定します。voidsetTemplateDefaults(AnnotationTemplateExpressionDefaults templateDefaults) CurrentSecurityContext テンプレートの解決を設定するbooleansupportsParameter(org.springframework.core.MethodParameter parameter)
コンストラクターの詳細
CurrentSecurityContextArgumentResolver
public CurrentSecurityContextArgumentResolver()
メソッドの詳細
supportsParameter
public boolean supportsParameter(org.springframework.core.MethodParameter parameter) - 次で指定:
- インターフェース
org.springframework.web.method.support.HandlerMethodArgumentResolverのsupportsParameter
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.HandlerMethodArgumentResolverのresolveArgument
setSecurityContextHolderStrategy
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategyを設定します。デフォルトのアクションは、SecurityContextHolderに格納されているSecurityContextHolderStrategyを使用することです。- 導入:
- 5.8
setBeanResolver
public void setBeanResolver(org.springframework.expression.BeanResolver beanResolver) 式で使用するBeanResolverを設定します- パラメーター:
beanResolver- 使用するBeanResolver
setTemplateDefaults
CurrentSecurityContext テンプレートの解決を設定するデフォルトでは、この値は
nullであり、テンプレートを解決しないことを示します。- パラメーター:
templateDefaults- - CurrentSecurityContext テンプレートパラメーターを解決するかどうか- 導入:
- 6.4