クラス PreInvocationAuthorizationAdviceVoter

java.lang.ObjectSE
org.springframework.security.access.prepost.PreInvocationAuthorizationAdviceVoter
実装されたすべてのインターフェース:
AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation>

@DeprecatedSE public class PreInvocationAuthorizationAdviceVoter extends ObjectSE implements AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation>
使用すべきではありません。
代わりに AuthorizationManagerBeforeMethodInterceptor を使用してください
@PreFilter および @PreAuthorize アノテーションから生成された PreInvocationAuthorizationAdvice 実装を使用してアクションを実行する投票者。

実際には、これらのアノテーションが使用されている場合、それらには通常、必要なすべてのアクセス制御ロジックが含まれるため、投票者ベースのシステムは実際には必要なく、同じロジックを含む単一の AccessDecisionManager で十分です。ただし、このクラスは、Spring Security で使用される従来の投票者ベースの AccessDecisionManager 実装に容易に適合します。

導入:
3.0
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected final org.apache.commons.logging.Log
    使用すべきではありません。

    インターフェース org.springframework.security.access.AccessDecisionVoter から継承されたフィールド

    ACCESS_ABSTAIN, ACCESS_DENIED, ACCESS_GRANTED
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    使用すべきではありません。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    supports(ClassSE<?> clazz)
    使用すべきではありません。
    AccessDecisionVoter 実装が、示された保護されたオブジェクト型のアクセス制御票を提供できるかどうかを示します。
    boolean
    使用すべきではありません。
    この AccessDecisionVoter が、渡された ConfigAttribute に投票できるかどうかを示します。
    int
    vote(Authentication authentication, org.aopalliance.intercept.MethodInvocation method, CollectionSE<ConfigAttribute> attributes)
    使用すべきではありません。
    アクセスが許可されているかどうかを示します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • logger

      protected final org.apache.commons.logging.Log logger
      使用すべきではありません。
  • コンストラクターの詳細

    • PreInvocationAuthorizationAdviceVoter

      public PreInvocationAuthorizationAdviceVoter(PreInvocationAuthorizationAdvice pre)
      使用すべきではありません。
  • メソッドの詳細

    • supports

      public boolean supports(ConfigAttribute attribute)
      使用すべきではありません。
      インターフェースからコピーされた説明: AccessDecisionVoter
      この AccessDecisionVoter が、渡された ConfigAttribute に投票できるかどうかを示します。

      これにより、AbstractSecurityInterceptor は、構成された AccessDecisionManager および / または RunAsManager および / または AfterInvocationManager が消費できるすべての構成属性をチェックできます。

      次で指定:
      インターフェース AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation>supports 
      パラメーター:
      attribute - AbstractSecurityInterceptor に対して構成された構成属性
      戻り値:
      この AccessDecisionVoter が渡された構成属性をサポートできる場合は true
    • supports

      public boolean supports(ClassSE<?> clazz)
      使用すべきではありません。
      インターフェースからコピーされた説明: AccessDecisionVoter
      AccessDecisionVoter 実装が、示された保護されたオブジェクト型のアクセス制御票を提供できるかどうかを示します。
      次で指定:
      インターフェース AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation>supports 
      パラメーター:
      clazz - 照会されているクラス
      戻り値:
      実装が指定されたクラスを処理できる場合は true
    • vote

      public int vote(Authentication authentication, org.aopalliance.intercept.MethodInvocation method, CollectionSE<ConfigAttribute> attributes)
      使用すべきではありません。
      インターフェースからコピーされた説明: AccessDecisionVoter
      アクセスが許可されているかどうかを示します。

      決定は肯定的(ACCESS_GRANTED)、否定的(ACCESS_DENIED)でなければなりません。そうでない場合、AccessDecisionVoter は投票を棄権(ACCESS_ABSTAIN)できます。どのような状況でも、実装クラスは他の値を返しません。結果の重み付けが必要な場合は、代わりにカスタム AccessDecisionManager で処理する必要があります。

      AccessDecisionVoter は、渡されたメソッド呼び出しまたは構成属性パラメーターが原因でアクセス制御の決定に投票することを特に意図していない限り、ACCESS_ABSTAIN を返す必要があります。これにより、調整する AccessDecisionManager が、アクセス制御の決定に正当な関心を持たずに、それらの AccessDecisionVoter からの投票をカウントすることを防ぎます。

      セキュリティで保護されたオブジェクト(MethodInvocation など)がパラメーターとして渡され、アクセス制御の決定を行う際の柔軟性を最大化しますが、実装クラスはそれを変更したり、(たとえば、MethodInvocation.proceed() を呼び出して)呼び出されたりしないようにする必要があります。

      次で指定:
      インターフェース AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation>vote 
      パラメーター:
      authentication - 呼び出しを行う呼び出し元
      method - 呼び出されている保護されたオブジェクト
      attributes - 保護されたオブジェクトに関連付けられた構成属性
      戻り値:
      AccessDecisionVoter.ACCESS_GRANTEDAccessDecisionVoter.ACCESS_ABSTAIN または AccessDecisionVoter.ACCESS_DENIED のいずれか