クラス 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()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
afterPropertiesSet()
Authentication
buildRunAs(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> attributes)
現在のセキュアオブジェクト呼び出しの置換Authentication
オブジェクト、または置換が不要な場合はnull
を返します。java.lang.String
getKey()
java.lang.String
getRolePrefix()
void
setKey(java.lang.String key)
void
setRolePrefix(java.lang.String rolePrefix)
ROLE_
のデフォルトのロール接頭辞を上書きできるようにします。boolean
supports(java.lang.Class<?> clazz)
この実装は、提示されたセキュアオブジェクトをクエリしないため、あらゆる型のクラスをサポートします。boolean
supports(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