クラス 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.EvaluationContextcreateEvaluationContext(SupplierSE<Authentication> authentication, org.aopalliance.intercept.MethodInvocation mi) 呼び出し型のセキュリティ式を評価するための評価コンテキストを提供します。org.springframework.expression.spel.support.StandardEvaluationContextcreateEvaluationContextInternal(Authentication auth, org.aopalliance.intercept.MethodInvocation mi) MethodSecurityEvaluationContextを EvaluationContext 実装として使用します。protected MethodSecurityExpressionOperationscreateSecurityExpressionRoot(Authentication authentication, org.aopalliance.intercept.MethodInvocation invocation) 式評価用のルートオブジェクトを作成します。filter(ObjectSE filterTarget, org.springframework.expression.Expression filterExpression, org.springframework.expression.EvaluationContext ctx) 提供された式を評価することにより、filterTargetオブジェクト(コレクション、配列、マップ、ストリームのいずれかである必要があります)をフィルター処理します。protected StringSEprotected org.springframework.core.ParameterNameDiscovererprotected AuthenticationTrustResolvervoidsetDefaultRolePrefix(StringSE defaultRolePrefix) SecurityExpressionRoot.hasAnyRole(String...)またはSecurityExpressionRoot.hasRole(String)に追加されるデフォルトのプレフィックスを設定します。voidsetParameterNameDiscoverer(org.springframework.core.ParameterNameDiscoverer parameterNameDiscoverer) 使用するParameterNameDiscovererを設定します。voidsetPermissionCacheOptimizer(PermissionCacheOptimizer permissionCacheOptimizer) voidsetReturnObject(ObjectSE returnObject, org.springframework.expression.EvaluationContext ctx) 指定された評価コンテキストの戻りオブジェクトを式システムに通知するために使用されます。voidsetTrustResolver(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のSupplierSEmi- 使用する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
- 戻り値:
- デフォルトのロール接頭辞