クラス AbstractSecurityInterceptor
java.lang.ObjectSE
org.springframework.security.access.intercept.AbstractSecurityInterceptor
- 実装されたすべてのインターフェース:
org.springframework.beans.factory.Aware
、org.springframework.beans.factory.InitializingBean
、org.springframework.context.ApplicationEventPublisherAware
、org.springframework.context.MessageSourceAware
@DeprecatedSE
public abstract class AbstractSecurityInterceptor
extends ObjectSE
implements org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationEventPublisherAware, org.springframework.context.MessageSourceAware
使用すべきではありません。
セキュアオブジェクトのセキュリティインターセプトを実装する抽象クラス。
AbstractSecurityInterceptor
は、セキュリティインターセプタの適切な起動設定を保証します。また、安全なオブジェクト呼び出しの適切な処理も実装します。
SecurityContextHolder
からAuthentication
オブジェクトを取得します。SecurityMetadataSource
に対してセキュアオブジェクトリクエストを検索して、リクエストがセキュアな呼び出しに関連するのか、パブリックな呼び出しに関連するのかを判断します。- 保護された呼び出しの場合(保護されたオブジェクト呼び出し用の
ConfigAttribute
のリストがあります):Authentication.isAuthenticated()
がfalse
を返す場合、またはalwaysReauthenticate
がtrue
である場合は、構成されたAuthenticationManager
に対してリクエストを認証します。認証されたら、SecurityContextHolder
のAuthentication
オブジェクトを戻り値に置き換えます。- 構成された
AccessDecisionManager
に対してリクエストを承認します。 - 構成された
RunAsManager
を介して run-as 置換を実行します。 - 実際のオブジェクトの実行を続行する具象サブクラスに制御を渡します。
InterceptorStatusToken
が返されるため、サブクラスがオブジェクトの実行を続行した後、finally 句を使用すると、AbstractSecurityInterceptor
が確実に再呼び出しされ、finallyInvocation(InterceptorStatusToken)
を使用して正しく整理されます。 - 具象サブクラスは、
afterInvocation(InterceptorStatusToken, Object)
メソッドを介してAbstractSecurityInterceptor
を再度呼び出します。 RunAsManager
がAuthentication
オブジェクトを置き換えた場合は、SecurityContextHolder
を、AuthenticationManager
の呼び出し後に存在していたオブジェクトに戻します。AfterInvocationManager
が定義されている場合は、呼び出しマネージャーを呼び出し、呼び出し元に返されるため、オブジェクトを置き換えられるようにします。
- パブリックな呼び出しの場合(セキュアオブジェクト呼び出し用の
ConfigAttribute
はありません):- 上記のように、具象サブクラスは
InterceptorStatusToken
が返され、セキュアオブジェクトが実行された後にAbstractSecurityInterceptor
に再提示されます。afterInvocation(InterceptorStatusToken, Object)
が呼び出されても、AbstractSecurityInterceptor
はそれ以上のアクションを実行しません。
- 上記のように、具象サブクラスは
- コントロールは、呼び出し元に返される
Object
と共に、具象サブクラスに再び戻ります。次に、サブクラスはその結果または例外を元の呼び出し元に返します。
フィールドサマリー
フィールドコンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ObjectSE
afterInvocation
(InterceptorStatusToken token, ObjectSE returnedObject) 使用すべきではありません。セキュアオブジェクトの呼び出しが完了した後、 AbstractSecurityInterceptor の作業を完了します。void
使用すべきではありません。protected InterceptorStatusToken
beforeInvocation
(ObjectSE object) 使用すべきではありません。protected void
使用すべきではありません。セキュアオブジェクトの呼び出しが完了した後、 AbstractSecurityInterceptor の作業をクリーンアップします。使用すべきではありません。使用すべきではありません。使用すべきではありません。使用すべきではありません。abstract ClassSE<?>
使用すべきではありません。サブクラスが処理のために抽象親に提示するセキュアオブジェクトの型を示します。boolean
使用すべきではありません。boolean
使用すべきではありません。boolean
使用すべきではありません。abstract SecurityMetadataSource
使用すべきではありません。void
setAccessDecisionManager
(AccessDecisionManager accessDecisionManager) 使用すべきではありません。void
setAfterInvocationManager
(AfterInvocationManager afterInvocationManager) 使用すべきではありません。void
setAlwaysReauthenticate
(boolean alwaysReauthenticate) 使用すべきではありません。AbstractSecurityInterceptor
がAuthentication.isAuthenticated()
プロパティを無視するかどうかを示します。void
setApplicationEventPublisher
(org.springframework.context.ApplicationEventPublisher applicationEventPublisher) 使用すべきではありません。void
setAuthenticationManager
(AuthenticationManager newManager) 使用すべきではありません。void
setMessageSource
(org.springframework.context.MessageSource messageSource) 使用すべきではありません。void
setPublishAuthorizationSuccess
(boolean publishAuthorizationSuccess) 使用すべきではありません。AuthorizationFailureEvent
のみが公開されます。void
setRejectPublicInvocations
(boolean rejectPublicInvocations) 使用すべきではありません。公開呼び出しを拒否する(およびこのプロパティを true に設定する)ことにより、AbstractSecurityInterceptor
によって通知されたすべてのセキュアオブジェクト呼び出しに構成属性が定義されていることを確認できます。void
setRunAsManager
(RunAsManager runAsManager) 使用すべきではありません。void
setSecurityContextHolderStrategy
(SecurityContextHolderStrategy securityContextHolderStrategy) 使用すべきではありません。使用するSecurityContextHolderStrategy
を設定します。void
setValidateConfigAttributes
(boolean validateConfigAttributes) 使用すべきではありません。
フィールドの詳細
logger
protected final org.apache.commons.logging.Log logger使用すべきではありません。messages
protected org.springframework.context.support.MessageSourceAccessor messages使用すべきではありません。
コンストラクターの詳細
AbstractSecurityInterceptor
public AbstractSecurityInterceptor()使用すべきではありません。
メソッドの詳細
afterPropertiesSet
public void afterPropertiesSet()使用すべきではありません。- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBean
のafterPropertiesSet
beforeInvocation
使用すべきではありません。finallyInvocation
使用すべきではありません。セキュアオブジェクトの呼び出しが完了した後、AbstractSecurityInterceptor の作業をクリーンアップします。このメソッドは、セキュアオブジェクトの呼び出しが正常に返されるかどうかに関係なく、セキュアオブジェクトの呼び出し後、afterInvocation の前に呼び出す必要があります (つまり、finally ブロックで実行する必要があります)。- パラメーター:
token
-beforeInvocation(Object)
メソッドによって返される
afterInvocation
使用すべきではありません。セキュアオブジェクトの呼び出しが完了した後、 AbstractSecurityInterceptor の作業を完了します。- パラメーター:
token
-beforeInvocation(Object)
メソッドによって返されるreturnedObject
- セキュアオブジェクト呼び出しから返されたオブジェクト ( null の可能性があります)- 戻り値:
- 安全なオブジェクト呼び出しが最終的にその呼び出し元に返すべきオブジェクト ( null の可能性があります)
getAccessDecisionManager
使用すべきではありません。getAfterInvocationManager
使用すべきではありません。getAuthenticationManager
使用すべきではありません。getRunAsManager
使用すべきではありません。getSecureObjectClass
使用すべきではありません。サブクラスが処理のために抽象親に提示するセキュアオブジェクトの型を示します。これは、AbstractSecurityInterceptor
に接続されたコラボレーターがすべて、指定されたセキュアオブジェクトクラスをサポートするようにするために使用されます。- 戻り値:
- サブクラスがサービスを提供する安全なオブジェクトの型
isAlwaysReauthenticate
public boolean isAlwaysReauthenticate()使用すべきではありません。isRejectPublicInvocations
public boolean isRejectPublicInvocations()使用すべきではありません。isValidateConfigAttributes
public boolean isValidateConfigAttributes()使用すべきではありません。obtainSecurityMetadataSource
使用すべきではありません。setSecurityContextHolderStrategy
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy) 使用すべきではありません。使用するSecurityContextHolderStrategy
を設定します。デフォルトのアクションは、SecurityContextHolder
に格納されているSecurityContextHolderStrategy
を使用することです。- 導入:
- 5.8
setAccessDecisionManager
使用すべきではありません。setAfterInvocationManager
使用すべきではありません。setAlwaysReauthenticate
public void setAlwaysReauthenticate(boolean alwaysReauthenticate) 使用すべきではありません。AbstractSecurityInterceptor
がAuthentication.isAuthenticated()
プロパティを無視するかどうかを示します。デフォルトはfalse
です。つまり、デフォルトでAuthentication.isAuthenticated()
プロパティは信頼され、プリンシパルがすでに認証されている場合は再認証は行われません。- パラメーター:
alwaysReauthenticate
-true
は、AbstractSecurityInterceptor
にAuthentication.isAuthenticated()
の値を無視させ、常にリクエストを再認証します(デフォルトはfalse
)。
setApplicationEventPublisher
public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher) 使用すべきではありません。- 次で指定:
- インターフェース
org.springframework.context.ApplicationEventPublisherAware
のsetApplicationEventPublisher
setAuthenticationManager
使用すべきではありません。setMessageSource
public void setMessageSource(org.springframework.context.MessageSource messageSource) 使用すべきではありません。- 次で指定:
- インターフェース
org.springframework.context.MessageSourceAware
のsetMessageSource
setPublishAuthorizationSuccess
public void setPublishAuthorizationSuccess(boolean publishAuthorizationSuccess) 使用すべきではありません。AuthorizationFailureEvent
のみが公開されます。このプロパティをtrue
に設定すると、AuthorizedEvent
も公開されます。- パラメーター:
publishAuthorizationSuccess
- デフォルト値はfalse
です
setRejectPublicInvocations
public void setRejectPublicInvocations(boolean rejectPublicInvocations) 使用すべきではありません。公開呼び出しを拒否する(およびこのプロパティを true に設定する)ことにより、AbstractSecurityInterceptor
によって通知されたすべてのセキュアオブジェクト呼び出しに構成属性が定義されていることを本質的に保証します。これは、宣言されていない安全なオブジェクトが拒否され、構成の省略が早期に検出される「フェイルセーフ」モードを保証できます。このプロパティを true に設定し、構成のないセキュアオブジェクトを呼び出そうとすると、 IllegalArgumentException が AbstractSecurityInterceptor によってスローされます。属性。- パラメーター:
rejectPublicInvocations
- 構成属性を持たないセキュアオブジェクトの呼び出しを拒否するには、true
に設定します(デフォルトでは、宣言されていないセキュアオブジェクトを「パブリック」または無認可として扱うのはfalse
です)。
setRunAsManager
使用すべきではありません。setValidateConfigAttributes
public void setValidateConfigAttributes(boolean validateConfigAttributes) 使用すべきではありません。
AuthorizationFilter
を、メッセージングセキュリティにはAuthorizationChannelInterceptor
を、メソッドセキュリティにはAuthorizationManagerBeforeMethodInterceptor
とAuthorizationManagerAfterMethodInterceptor
を使用してください。