クラス DefaultMethodSecurityExpressionHandler
java.lang.ObjectSE
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
フィールドサマリー
フィールドコンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明org.springframework.expression.EvaluationContext
createEvaluationContext
(SupplierSE<Authentication> authentication, org.aopalliance.intercept.MethodInvocation mi) 呼び出し型のセキュリティ式を評価するための評価コンテキストを提供します。org.springframework.expression.spel.support.StandardEvaluationContext
createEvaluationContextInternal
(Authentication auth, org.aopalliance.intercept.MethodInvocation mi) MethodSecurityEvaluationContext
を EvaluationContext 実装として使用します。protected MethodSecurityExpressionOperations
createSecurityExpressionRoot
(Authentication authentication, org.aopalliance.intercept.MethodInvocation invocation) 式評価用のルートオブジェクトを作成します。filter
(ObjectSE filterTarget, org.springframework.expression.Expression filterExpression, org.springframework.expression.EvaluationContext ctx) 提供された式を評価することにより、filterTarget
オブジェクト(コレクション、配列、マップ、ストリームのいずれかである必要があります)をフィルター処理します。protected StringSE
protected org.springframework.core.ParameterNameDiscoverer
protected AuthenticationTrustResolver
void
setDefaultRolePrefix
(StringSE defaultRolePrefix) SecurityExpressionRoot.hasAnyRole(String...)
またはSecurityExpressionRoot.hasRole(String)
に追加されるデフォルトのプレフィックスを設定します。void
setParameterNameDiscoverer
(org.springframework.core.ParameterNameDiscoverer parameterNameDiscoverer) 使用するParameterNameDiscoverer
を設定します。void
setPermissionCacheOptimizer
(PermissionCacheOptimizer permissionCacheOptimizer) void
setReturnObject
(ObjectSE returnObject, org.springframework.expression.EvaluationContext ctx) 指定された評価コンテキストの戻りオブジェクトを式システムに通知するために使用されます。void
setTrustResolver
(AuthenticationTrustResolver trustResolver) 使用するAuthenticationTrustResolver
を設定します。クラス org.springframework.security.access.expression.AbstractSecurityExpressionHandler から継承されたメソッド
createEvaluationContext, getBeanResolver, getExpressionParser, getPermissionEvaluator, getRoleHierarchy, setApplicationContext, setExpressionParser, setPermissionEvaluator, setRoleHierarchy
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.security.access.expression.SecurityExpressionHandler から継承されたメソッド
createEvaluationContext, getExpressionParser
フィールドの詳細
logger
protected final org.apache.commons.logging.Log logger
コンストラクターの詳細
DefaultMethodSecurityExpressionHandler
public DefaultMethodSecurityExpressionHandler()
メソッドの詳細
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
またはオーバーライドされる可能性のあるカスタムサブクラス。
createEvaluationContext
public org.springframework.expression.EvaluationContext createEvaluationContext(SupplierSE<Authentication> authentication, org.aopalliance.intercept.MethodInvocation mi) インターフェースからコピーされた説明:SecurityExpressionHandler
呼び出し型のセキュリティ式を評価するための評価コンテキストを提供します。Authentication
オブジェクトの遅延初期化を使用するカスタム実装を提供するために、このメソッドをオーバーライドできます。デフォルトでは、このメソッドはAuthentication
オブジェクトの先行初期化を使用します。- 次で指定:
- インターフェース
SecurityExpressionHandler<org.aopalliance.intercept.MethodInvocation>
のcreateEvaluationContext
- パラメーター:
authentication
- 使用するAuthentication
のSupplier
SEmi
- 使用するSecurityExpressionHandler
- 戻り値:
- 使用する
EvaluationContext
createSecurityExpressionRoot
protected MethodSecurityExpressionOperations createSecurityExpressionRoot(Authentication authentication, org.aopalliance.intercept.MethodInvocation invocation) 式評価用のルートオブジェクトを作成します。- 次で指定:
- クラス
AbstractSecurityExpressionHandler<org.aopalliance.intercept.MethodInvocation>
のcreateSecurityExpressionRoot
- パラメーター:
authentication
- 現在の認証オブジェクトinvocation
- 呼び出し (フィルター、メソッド、チャネル)- 戻り値:
- オブジェクト
filter
public ObjectSE filter(ObjectSE 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
使用するAuthenticationTrustResolver
を設定します。デフォルトはAuthenticationTrustResolverImpl
です。- パラメーター:
trustResolver
- 使用するAuthenticationTrustResolver
。null にはできません。
getTrustResolver
- 戻り値:
- 現在の
AuthenticationTrustResolver
setParameterNameDiscoverer
public void setParameterNameDiscoverer(org.springframework.core.ParameterNameDiscoverer parameterNameDiscoverer) 使用するParameterNameDiscoverer
を設定します。デフォルトはDefaultSecurityParameterNameDiscoverer
です。- パラメーター:
parameterNameDiscoverer
-
getParameterNameDiscoverer
protected org.springframework.core.ParameterNameDiscoverer getParameterNameDiscoverer()- 戻り値:
- 現在の
ParameterNameDiscoverer
setPermissionCacheOptimizer
setReturnObject
public void setReturnObject(ObjectSE returnObject, org.springframework.expression.EvaluationContext ctx) インターフェースからコピーされた説明:MethodSecurityExpressionHandler
指定された評価コンテキストの戻りオブジェクトを式システムに通知するために使用されます。メソッド呼び出しにのみ適用されます。- 次で指定:
- インターフェース
MethodSecurityExpressionHandler
のsetReturnObject
- パラメーター:
returnObject
- 戻りオブジェクト値ctx
- オブジェクトを設定するコンテキスト(SecurityExpressionHandler.createEvaluationContext(org.springframework.security.core.Authentication, Object)
の呼び出しで作成されたもの)
setDefaultRolePrefix
SecurityExpressionRoot.hasAnyRole(String...)
またはSecurityExpressionRoot.hasRole(String)
に追加されるデフォルトのプレフィックスを設定します。例: hasRole("ADMIN" )または hasRole("ROLE_ADMIN" )が渡された場合、defaultRolePrefix が "ROLE_" (デフォルト)の場合、ロール ROLE_ADMIN が使用されます。null または空の場合、デフォルトのロールプレフィックスは使用されません。
- パラメーター:
defaultRolePrefix
- ロールに追加するデフォルトのプレフィックス。デフォルトは "ROLE_"。
getDefaultRolePrefix
- 戻り値:
- デフォルトのロール接頭辞