インターフェース RunAsManager
- すべての既知の実装クラス:
RunAsManagerImpl
public interface RunAsManager現在のセキュアオブジェクト呼び出しのみに対して新しい一時Authenticationオブジェクトを作成します。このインターフェースにより、実装は、現在のセキュアオブジェクト呼び出しにのみ適用される
Authenticationオブジェクトを置き換えることができます。AbstractSecurityInterceptorは、SecurityContextに保持されているAuthenticationオブジェクトを、セキュアオブジェクトコールバック間のみ置き換え、コールバックが終了すると元のAuthenticationオブジェクトに返します。これは、オブジェクトの 2 つの層を持つシステムを確立できるようにするために提供されています。1 つの層は一般公開されており、通常の安全な方法があり、許可されたオーソリティは外部の呼び出し元によって保持されることが期待されています。もう一方のレイヤーはプライベートであり、パブリックレイヤー内のオブジェクトによってのみ呼び出されることが想定されています。このプライベートレイヤーのオブジェクトにはセキュリティが必要です(そうでない場合は public メソッドになります)。また、外部の呼び出し元から直接呼び出されないようにするためのセキュリティも必要です。プライベート層のオブジェクトは、外部の呼び出し元に決して付与されない付与された権限を要求するように構成されます。
RunAsManagerインターフェースは、この方法でセキュリティを向上させるメカニズムを提供します。実装は対応する具体的な
AuthenticationおよびAuthenticationProviderを提供するため、置換Authenticationオブジェクトを認証できます。AuthenticationProviderがRunAsManagerの承認された具体的な実装によって作成されたAuthenticationオブジェクトのみを受け入れるようにするには、何らかのセキュリティを実装する必要があります。
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 AuthenticationbuildRunAs(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> attributes)現在のセキュアオブジェクト呼び出しの置換Authenticationオブジェクト、または置換が不要な場合はnullを返します。booleansupports(java.lang.Class<?> clazz)RunAsManager実装が、示されたセキュアオブジェクト型の代替として実行を提供できるかどうかを示します。booleansupports(ConfigAttribute attribute)このRunAsManagerが、渡されたConfigAttributeを処理できるかどうかを示します。
メソッドの詳細
buildRunAs
Authentication buildRunAs(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> attributes)
現在のセキュアオブジェクト呼び出しの置換Authenticationオブジェクト、または置換が不要な場合はnullを返します。- パラメーター:
authentication- 安全なオブジェクトを呼び出す呼び出し元object- 呼び出されている保護されたオブジェクトattributes- 呼び出されるセキュアオブジェクトに関連付けられた構成属性- 戻り値:
- セキュアオブジェクト呼び出しの期間中に使用される置換オブジェクト、または
Authenticationをそのままにしておく必要がある場合はnull
supports
boolean supports(ConfigAttribute attribute)
このRunAsManagerが、渡されたConfigAttributeを処理できるかどうかを示します。これにより、
AbstractSecurityInterceptorは、構成されたAccessDecisionManagerおよび / またはRunAsManagerおよび / またはAfterInvocationManagerが消費できるすべての構成属性をチェックできます。- パラメーター:
attribute-AbstractSecurityInterceptorに対して構成された構成属性- 戻り値:
- この
RunAsManagerが渡された構成属性をサポートできる場合はtrue
supports
boolean supports(java.lang.Class<?> clazz)
RunAsManager実装が、示されたセキュアオブジェクト型の代替として実行を提供できるかどうかを示します。- パラメーター:
clazz- 照会されているクラス- 戻り値:
- 実装が指定されたクラスを処理できる場合は true