クラス 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.AopInfrastructureBeanorg.springframework.beans.factory.Awareorg.springframework.context.ApplicationContextAwareMethodSecurityExpressionHandlerSecurityExpressionHandler<org.aopalliance.intercept.MethodInvocation>

public class DefaultMethodSecurityExpressionHandler extends AbstractSecurityExpressionHandler<org.aopalliance.intercept.MethodInvocation> implements MethodSecurityExpressionHandler
MethodSecurityExpressionHandler の標準実装。

通常、単一のインスタンスは、式のサポートを必要とする Bean 間で共有する必要があります。

導入:
3.0
  • フィールドの詳細

    • 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 - 使用する AuthenticationSupplierSE
      mi - 使用する 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 と評価される要素を含むように変更されます。配列の場合、新しい配列インスタンスが返されます。

      次で指定:
      インターフェース MethodSecurityExpressionHandlerfilter 
      パラメーター:
      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(ObjectSE returnObject, org.springframework.expression.EvaluationContext ctx)
      インターフェースからコピーされた説明: MethodSecurityExpressionHandler
      指定された評価コンテキストの戻りオブジェクトを式システムに通知するために使用されます。メソッド呼び出しにのみ適用されます。
      次で指定:
      インターフェース MethodSecurityExpressionHandlersetReturnObject 
      パラメーター:
      returnObject - 戻りオブジェクト値
      ctx - オブジェクトを設定するコンテキスト(SecurityExpressionHandler.createEvaluationContext(org.springframework.security.core.Authentication, Object) の呼び出しで作成されたもの)
    • setDefaultRolePrefix

      public void setDefaultRolePrefix(StringSE defaultRolePrefix)

      SecurityExpressionRoot.hasAnyRole(String...) または SecurityExpressionRoot.hasRole(String) に追加されるデフォルトのプレフィックスを設定します。例: hasRole("ADMIN" )または hasRole("ROLE_ADMIN" )が渡された場合、defaultRolePrefix が "ROLE_" (デフォルト)の場合、ロール ROLE_ADMIN が使用されます。

      null または空の場合、デフォルトのロールプレフィックスは使用されません。

      パラメーター:
      defaultRolePrefix - ロールに追加するデフォルトのプレフィックス。デフォルトは "ROLE_"。
    • getDefaultRolePrefix

      protected StringSE getDefaultRolePrefix()
      戻り値:
      デフォルトのロール接頭辞