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