クラス DefaultMethodSecurityExpressionHandler
- java.lang.Object
-
- org.springframework.security.access.expression.AbstractSecurityExpressionHandler<org.aopalliance.intercept.MethodInvocation>
-
- org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler
- 実装されているすべてのインターフェース:
org.springframework.aop.framework.AopInfrastructureBean、org.springframework.beans.factory.Aware、org.springframework.context.ApplicationContextAware、MethodSecurityExpressionHandler、SecurityExpressionHandler<org.aopalliance.intercept.MethodInvocation>
public class DefaultMethodSecurityExpressionHandler extends AbstractSecurityExpressionHandler<org.aopalliance.intercept.MethodInvocation> implements MethodSecurityExpressionHandler
MethodSecurityExpressionHandlerの標準実装。通常、単一のインスタンスは、式のサポートを必要とする Bean 間で共有する必要があります。
- 導入:
- 3.0
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected org.apache.commons.logging.Loglogger
コンストラクターの概要
コンストラクター コンストラクター 説明 DefaultMethodSecurityExpressionHandler()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 org.springframework.expression.spel.support.StandardEvaluationContextcreateEvaluationContextInternal(Authentication auth, org.aopalliance.intercept.MethodInvocation mi)MethodSecurityEvaluationContextを EvaluationContext 実装として使用します。protected MethodSecurityExpressionOperationscreateSecurityExpressionRoot(Authentication authentication, org.aopalliance.intercept.MethodInvocation invocation)式評価用のルートオブジェクトを作成します。java.lang.Objectfilter(java.lang.Object filterTarget, org.springframework.expression.Expression filterExpression, org.springframework.expression.EvaluationContext ctx)提供された式を評価することにより、filterTargetオブジェクト(コレクション、配列、マップ、ストリームのいずれかである必要があります)をフィルター処理します。protected java.lang.StringgetDefaultRolePrefix()protected org.springframework.core.ParameterNameDiscoverergetParameterNameDiscoverer()protected AuthenticationTrustResolvergetTrustResolver()voidsetDefaultRolePrefix(java.lang.String defaultRolePrefix)SecurityExpressionRoot.hasAnyRole(String...)またはSecurityExpressionRoot.hasRole(String)に追加されるデフォルトのプレフィックスを設定します。voidsetParameterNameDiscoverer(org.springframework.core.ParameterNameDiscoverer parameterNameDiscoverer)使用するParameterNameDiscovererを設定します。voidsetPermissionCacheOptimizer(PermissionCacheOptimizer permissionCacheOptimizer)voidsetReturnObject(java.lang.Object returnObject, org.springframework.expression.EvaluationContext ctx)指定された評価コンテキストの戻りオブジェクトを式システムに通知するために使用されます。voidsetTrustResolver(AuthenticationTrustResolver trustResolver)使用するAuthenticationTrustResolverを設定します。クラス org.springframework.security.access.expression.AbstractSecurityExpressionHandler から継承されたメソッド
createEvaluationContext, getExpressionParser, getPermissionEvaluator, getRoleHierarchy, setApplicationContext, setExpressionParser, setPermissionEvaluator, setRoleHierarchy
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
インターフェース org.springframework.security.access.expression.SecurityExpressionHandler から継承されたメソッド
createEvaluationContext, getExpressionParser
メソッドの詳細
createEvaluationContextInternal
public org.springframework.expression.spel.support.StandardEvaluationContext createEvaluationContextInternal(Authentication auth, org.aopalliance.intercept.MethodInvocation mi)
MethodSecurityEvaluationContextを EvaluationContext 実装として使用します。- オーバーライド:
- クラス
AbstractSecurityExpressionHandler<org.aopalliance.intercept.MethodInvocation>のcreateEvaluationContextInternal - パラメーター:
auth- 現在の認証オブジェクトmi- 呼び出し (フィルター、メソッド、チャネル)- 戻り値:
StandardEvaluationContextまたはオーバーライドされる可能性のあるカスタムサブクラス。
createSecurityExpressionRoot
protected MethodSecurityExpressionOperations createSecurityExpressionRoot(Authentication authentication, org.aopalliance.intercept.MethodInvocation invocation)
式評価用のルートオブジェクトを作成します。- 次で指定:
- クラス
AbstractSecurityExpressionHandler<org.aopalliance.intercept.MethodInvocation>のcreateSecurityExpressionRoot - パラメーター:
authentication- 現在の認証オブジェクトinvocation- 呼び出し (フィルター、メソッド、チャネル)- 戻り値:
- オブジェクト
filter
public java.lang.Object filter(java.lang.Object filterTarget, org.springframework.expression.Expression filterExpression, org.springframework.expression.EvaluationContext ctx)提供された式を評価することにより、filterTargetオブジェクト(コレクション、配列、マップ、ストリームのいずれかである必要があります)をフィルター処理します。CollectionまたはMapが使用されている場合、元のインスタンスは、許可式がtrueと評価される要素を含むように変更されます。配列の場合、新しい配列インスタンスが返されます。- 次で指定:
- インターフェース
MethodSecurityExpressionHandlerのfilter - パラメーター:
filterTarget- フィルタリングする配列またはコレクション。filterExpression- フィルター条件として使用される式。評価時に false を返す場合、オブジェクトは返されたコレクションから削除されますctx- 現在の評価コンテキスト(SecurityExpressionHandler.createEvaluationContext(org.springframework.security.core.Authentication, Object)の呼び出しを通じて作成されたもの)- 戻り値:
- フィルタリングされたコレクションまたは配列
setTrustResolver
public void setTrustResolver(AuthenticationTrustResolver trustResolver)
使用するAuthenticationTrustResolverを設定します。デフォルトはAuthenticationTrustResolverImplです。- パラメーター:
trustResolver- 使用するAuthenticationTrustResolver。null にはできません。
getTrustResolver
protected AuthenticationTrustResolver getTrustResolver()
- 戻り値:
- 現在の
AuthenticationTrustResolver
setParameterNameDiscoverer
public void setParameterNameDiscoverer(org.springframework.core.ParameterNameDiscoverer parameterNameDiscoverer)
使用するParameterNameDiscovererを設定します。デフォルトはDefaultSecurityParameterNameDiscovererです。- パラメーター:
parameterNameDiscoverer-
getParameterNameDiscoverer
protected org.springframework.core.ParameterNameDiscoverer getParameterNameDiscoverer()
- 戻り値:
- 現在の
ParameterNameDiscoverer
setPermissionCacheOptimizer
public void setPermissionCacheOptimizer(PermissionCacheOptimizer permissionCacheOptimizer)
setReturnObject
public void setReturnObject(java.lang.Object returnObject, org.springframework.expression.EvaluationContext ctx)インターフェースからコピーされた説明:MethodSecurityExpressionHandler指定された評価コンテキストの戻りオブジェクトを式システムに通知するために使用されます。メソッド呼び出しにのみ適用されます。- 次で指定:
- インターフェース
MethodSecurityExpressionHandlerのsetReturnObject - パラメーター:
returnObject- 戻りオブジェクト値ctx- オブジェクトを設定するコンテキスト(SecurityExpressionHandler.createEvaluationContext(org.springframework.security.core.Authentication, Object)の呼び出しで作成されたもの)
setDefaultRolePrefix
public void setDefaultRolePrefix(java.lang.String defaultRolePrefix)
SecurityExpressionRoot.hasAnyRole(String...)またはSecurityExpressionRoot.hasRole(String)に追加するデフォルトのプレフィックスを設定します。例: hasRole("ADMIN" ) または hasRole("ROLE_ADMIN" ) が渡された場合、defaultRolePrefix が "ROLE_" (デフォルト) のときはロール ROLE_ADMIN が使用されます。null または空の場合、デフォルトのロールプレフィックスは使用されません。
- パラメーター:
defaultRolePrefix- ロールに追加するデフォルトのプレフィックス。デフォルトは "ROLE_"。
getDefaultRolePrefix
protected java.lang.String getDefaultRolePrefix()
- 戻り値:
- デフォルトのロール接頭辞