public interface AfterInvocationManagerObject を確認します。Object を変更したり、AccessDeniedException をスローしたりできます。 通常、プリンシパルがサービスレイヤー Bean によって返されたドメインオブジェクトインスタンスへのアクセスを許可されていることを確認するために使用されます。プリンシパルが承認された Bean プロパティまたは Collection 要素にのみアクセスできるように、ドメインオブジェクトインスタンスを変更するためにも使用できます。
データベースを変更する Bean メソッドで AfterInvocationManager を使用する場合は、特別な考慮が必要です。通常、AfterInvocationManager は、public DomainObject getById(id) などの読み取り専用メソッドで使用されます。データベースを変更するメソッドと共に使用する場合、トランザクションマネージャーを使用して、AccessDeniedException がトランザクションによって行われた変更のロールバックを確実に引き起こすようにする必要があります。
| 修飾子と型 | メソッドと説明 |
|---|---|
java.lang.Object | decide(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> attributes, java.lang.Object returnedObject) 返された Object を含むセキュアオブジェクト呼び出しの詳細を考慮して、アクセス制御を決定するか、オプションで返された Object を変更します。 |
boolean | supports(java.lang.Class<?> clazz)AfterInvocationManager 実装が、示された保護されたオブジェクト型のアクセス制御決定を提供できるかどうかを示します。 |
boolean | supports(ConfigAttribute attribute) この AfterInvocationManager が、渡された ConfigAttribute で提示された「呼び出し後」のリクエストを処理できるかどうかを示します。 |
java.lang.Object decide(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> attributes, java.lang.Object returnedObject) throws AccessDeniedException
Object を含むセキュアオブジェクト呼び出しの詳細を考慮して、アクセス制御を決定するか、オプションで返された Object を変更します。authentication - メソッドを呼び出した呼び出し元 object - 呼び出された保護オブジェクト attributes - 呼び出された保護オブジェクトに関連付けられた構成属性 returnedObject - セキュアオブジェクト呼び出しから返された Object Object (実装が、呼び出し元に返されるオブジェクトを変更したくない場合、実装は、returnedObject メソッド引数によって渡されたのと同じオブジェクトを単に返す必要があります。)AccessDeniedException - アクセスが拒否された場合 boolean supports(ConfigAttribute attribute)
AfterInvocationManager が、渡された ConfigAttribute で提示された「呼び出し後」のリクエストを処理できるかどうかを示します。 これにより、AbstractSecurityInterceptor は、構成された AccessDecisionManager および / または RunAsManager および / または AfterInvocationManager が消費できるすべての構成属性をチェックできます。
attribute - AbstractSecurityInterceptor に対して構成された構成属性 AfterInvocationManager が渡された構成属性をサポートできる場合は trueboolean supports(java.lang.Class<?> clazz)
AfterInvocationManager 実装が、示された保護されたオブジェクト型のアクセス制御決定を提供できるかどうかを示します。clazz - 照会されているクラス true