クラス RunAsManagerImpl
- java.lang.Object
-
- org.springframework.security.access.intercept.RunAsManagerImpl
- 実装されているすべてのインターフェース:
org.springframework.beans.factory.InitializingBean,RunAsManager
public class RunAsManagerImpl extends java.lang.Object implements RunAsManager, org.springframework.beans.factory.InitializingBean
RunAsManagerの基本的な具体的な実装。ConfigAttribute.getAttribute()の前にRUN_AS_が付いている場合にアクティブになります。見つかった場合は、元のAuthenticationオブジェクトと同じプリンシパル、資格情報、付与された権限を含む新しいRunAsUserTokenと、示された各RUN_AS_のSimpleGrantedAuthorityが生成されます。作成されたSimpleGrantedAuthorityには、それがロールであることを示す特別なプレフィックス(デフォルトのプレフィックス値はROLE_)が付けられ、次にRUN_AS_キーワードの残りの部分が付けられます。例:RUN_AS_FOOは、ROLE_RUN_AS_FOOの付与された権限の作成になります。ロールプレフィックスは、他の場所で使用されているものと一致するように、デフォルトからオーバーライドされる場合があります。たとえば、既存のロールデータベースを別のプレフィックスで使用する場合などです。空のロールプレフィックスを指定することもできます。ただし、
ConfigAttributeのさまざまなカテゴリをプレフィックスに基づいて適切に識別できず、投票やその他のアクションを実行すると結果が生じる可能性があるため、空のロールプレフィックスの使用には潜在的な課題があることに注意してください。ただし、このオプションは、プレフィックスなしで既存のロール名を使用する場合に役立つ可能性があり、たとえばJdbcDaoImplで提供されているように、読み込むときにロールプレフィックスをプレフィックスとして付ける機能はありません。
コンストラクターの概要
コンストラクター コンストラクター 説明 RunAsManagerImpl()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 voidafterPropertiesSet()AuthenticationbuildRunAs(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> attributes)現在のセキュアオブジェクト呼び出しの置換Authenticationオブジェクト、または置換が不要な場合はnullを返します。java.lang.StringgetKey()java.lang.StringgetRolePrefix()voidsetKey(java.lang.String key)voidsetRolePrefix(java.lang.String rolePrefix)ROLE_のデフォルトのロール接頭辞を上書きできるようにします。booleansupports(java.lang.Class<?> clazz)この実装は、提示されたセキュアオブジェクトをクエリしないため、あらゆる型のクラスをサポートします。booleansupports(ConfigAttribute attribute)このRunAsManagerが、渡されたConfigAttributeを処理できるかどうかを示します。
メソッドの詳細
afterPropertiesSet
public void afterPropertiesSet()
- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBeanのafterPropertiesSet
buildRunAs
public Authentication buildRunAs(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> attributes)
インターフェースからコピーされた説明:RunAsManager現在のセキュアオブジェクト呼び出しの置換Authenticationオブジェクト、または置換が不要な場合はnullを返します。- 次で指定:
- インターフェース
RunAsManagerのbuildRunAs - パラメーター:
authentication- 安全なオブジェクトを呼び出す呼び出し元object- 呼び出されている保護されたオブジェクトattributes- 呼び出されるセキュアオブジェクトに関連付けられた構成属性- 戻り値:
- セキュアオブジェクト呼び出しの期間中に使用される置換オブジェクト、または
Authenticationをそのままにしておく必要がある場合はnull
getKey
public java.lang.String getKey()
getRolePrefix
public java.lang.String getRolePrefix()
setKey
public void setKey(java.lang.String key)
setRolePrefix
public void setRolePrefix(java.lang.String rolePrefix)
ROLE_のデフォルトのロール接頭辞を上書きできるようにします。これは通常は望ましくありませんが、空の値に設定できます。- パラメーター:
rolePrefix- 新しい接頭辞
supports
public boolean supports(ConfigAttribute attribute)
インターフェースからコピーされた説明:RunAsManagerこのRunAsManagerが、渡されたConfigAttributeを処理できるかどうかを示します。これにより、
AbstractSecurityInterceptorは、構成されたAccessDecisionManagerおよび / またはRunAsManagerおよび / またはAfterInvocationManagerが消費できるすべての構成属性をチェックできます。- 次で指定:
- インターフェース
RunAsManagerのsupports - パラメーター:
attribute-AbstractSecurityInterceptorに対して構成された構成属性- 戻り値:
- この
RunAsManagerが渡された構成属性をサポートできる場合はtrue
supports
public boolean supports(java.lang.Class<?> clazz)
この実装は、提示されたセキュアオブジェクトをクエリしないため、あらゆる型のクラスをサポートします。- 次で指定:
- インターフェース
RunAsManagerのsupports - パラメーター:
clazz- 安全なオブジェクト- 戻り値:
- 常に
true