クラス PreInvocationAuthorizationAdviceVoter
- java.lang.Object
-
- org.springframework.security.access.prepost.PreInvocationAuthorizationAdviceVoter
- 実装済みのインターフェース一覧:
AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation>
public class PreInvocationAuthorizationAdviceVoter extends java.lang.Object implements AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation>
@PreFilter および @PreAuthorize アノテーションから生成された PreInvocationAuthorizationAdvice 実装を使用してアクションを実行する投票者。実際には、これらのアノテーションが使用されている場合、それらには通常、必要なすべてのアクセス制御ロジックが含まれるため、投票者ベースのシステムは実際には必要なく、同じロジックを含む単一の AccessDecisionManager で十分です。ただし、このクラスは、Spring Security で使用される従来の投票者ベースの AccessDecisionManager 実装に容易に適合します。
- 導入:
- 3.0
フィールド概要
フィールド 修飾子と型 フィールド 説明 protected org.apache.commons.logging.Logloggerインターフェース org.springframework.security.access.AccessDecisionVoter から継承されたフィールド
ACCESS_ABSTAIN, ACCESS_DENIED, ACCESS_GRANTED
コンストラクター概要
コンストラクター コンストラクター 説明 PreInvocationAuthorizationAdviceVoter(PreInvocationAuthorizationAdvice pre)
方法の概要
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 booleansupports(java.lang.Class<?> clazz)AccessDecisionVoter実装が、示された保護されたオブジェクト型のアクセス制御票を提供できるかどうかを示します。booleansupports(ConfigAttribute attribute)このAccessDecisionVoterが、渡されたConfigAttributeに投票できるかどうかを示します。intvote(Authentication authentication, org.aopalliance.intercept.MethodInvocation method, java.util.Collection<ConfigAttribute> attributes)アクセスが許可されているかどうかを示します。
コンストラクターの詳細
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(java.lang.Class<?> clazz)
インターフェースからコピーされた説明:AccessDecisionVoterAccessDecisionVoter実装が、示された保護されたオブジェクト型のアクセス制御票を提供できるかどうかを示します。- 次で指定:
- インターフェース
AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation>内のsupports - パラメーター:
clazz- 照会されているクラス- 戻り値:
- 実装が指定されたクラスを処理できる場合は true
vote
public int vote(Authentication authentication, org.aopalliance.intercept.MethodInvocation method, java.util.Collection<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_GRANTED、AccessDecisionVoter.ACCESS_ABSTAINまたはAccessDecisionVoter.ACCESS_DENIEDのいずれか