クラス LogoutConfigurer<H extends HttpSecurityBuilder<H>>
- java.lang.Object
-
- org.springframework.security.config.annotation.SecurityConfigurerAdapter<DefaultSecurityFilterChain,B>
-
- org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer<LogoutConfigurer<H>,H>
-
- org.springframework.security.config.annotation.web.configurers.LogoutConfigurer<H>
- 実装されたすべてのインターフェース:
SecurityConfigurer<DefaultSecurityFilterChain,H>
public final class LogoutConfigurer<H extends HttpSecurityBuilder<H>> extends AbstractHttpConfigurer<LogoutConfigurer<H>,H>
ログアウトのサポートを追加します。他のSecurityConfigurer
インスタンスは、init(HttpSecurityBuilder)
フェーズでaddLogoutHandler(LogoutHandler)
を呼び出すことができます。セキュリティフィルター
次のフィルターが読み込まれます作成された共有オブジェクト
共有オブジェクトは作成されません使用される共有オブジェクト
共有オブジェクトは使用されません。- 導入:
- 3.2
- 関連事項:
RememberMeConfigurer
コンストラクターのサマリー
コンストラクター コンストラクター 説明 LogoutConfigurer()
新しいインスタンスを作成します
メソッドのサマリー
クラス org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer から継承されたメソッド
disable, withObjectPostProcessor
クラス org.springframework.security.config.annotation.SecurityConfigurerAdapter から継承されたメソッド
addObjectPostProcessor, and, getBuilder, postProcess, setBuilder
メソッドの詳細
addLogoutHandler
public LogoutConfigurer<H> addLogoutHandler(LogoutHandler logoutHandler)
LogoutHandler
を追加します。SecurityContextLogoutHandler
およびLogoutSuccessEventPublishingLogoutHandler
は、デフォルトで最後のLogoutHandler
インスタンスとして追加されます。- パラメーター:
logoutHandler
- 追加するLogoutHandler
- 戻り値:
- さらにカスタマイズするための
LogoutConfigurer
clearAuthentication
public LogoutConfigurer<H> clearAuthentication(boolean clearAuthentication)
SecurityContextLogoutHandler
がログアウト時にAuthentication
をクリアするかどうかを指定します。- パラメーター:
clearAuthentication
- trueSecurityContextLogoutHandler
はAuthentication
(デフォルト)をクリアする必要があり、そうでない場合は false です。- 戻り値:
- さらにカスタマイズするための
LogoutConfigurer
invalidateHttpSession
public LogoutConfigurer<H> invalidateHttpSession(boolean invalidateHttpSession)
SecurityContextLogoutHandler
を構成して、ログアウト時にHttpSession
を無効にします。- パラメーター:
invalidateHttpSession
-HttpSession
を無効にする必要がある場合は true(デフォルト)、そうでない場合は false。- 戻り値:
- さらにカスタマイズするための
LogoutConfigurer
logoutUrl
public LogoutConfigurer<H> logoutUrl(java.lang.String logoutUrl)
ログアウトをトリガーする URL(デフォルトは "/logout")。CSRF 保護が有効になっている場合(デフォルト)、リクエストも POST である必要があります。これは、デフォルトでログアウトをトリガーするために POST "/logout" が必要であることを意味します。CSRF 保護が無効になっている場合、任意の HTTP メソッドが許可されます。CSRF 攻撃から保護するために、状態を変更する(ログアウトする)アクションで HTTP POST を使用することをお勧めします。本当に HTTP GET を使用したい場合は、
logoutRequestMatcher(new AntPathRequestMatcher(logoutUrl, "GET"));
を使用できます- パラメーター:
logoutUrl
- ログアウトを呼び出す URL。- 戻り値:
- さらにカスタマイズするための
LogoutConfigurer
- 関連事項:
logoutRequestMatcher(RequestMatcher)
,HttpSecurity.csrf()
logoutRequestMatcher
public LogoutConfigurer<H> logoutRequestMatcher(RequestMatcher logoutRequestMatcher)
ログアウトをトリガーする RequestMatcher。ほとんどの場合、ユーザーはlogoutUrl(String)
を使用します。これは、優れたプラクティスの実施に役立ちます。- パラメーター:
logoutRequestMatcher
- ログアウトが発生するかどうかを判断するために使用される RequestMatcher- 戻り値:
- さらにカスタマイズするための
LogoutConfigurer
- 関連事項:
logoutUrl(String)
logoutSuccessUrl
public LogoutConfigurer<H> logoutSuccessUrl(java.lang.String logoutSuccessUrl)
ログアウトが発生した後にリダイレクトする URL。デフォルトは "/login?logout" です。これは、SimpleUrlLogoutSuccessHandler
を使用してlogoutSuccessHandler(LogoutSuccessHandler)
を呼び出すためのショートカットです。- パラメーター:
logoutSuccessUrl
- ログアウト後にリダイレクトする URL- 戻り値:
- さらにカスタマイズするための
LogoutConfigurer
permitAll
public LogoutConfigurer<H> permitAll()
true
を引数として使用するpermitAll(boolean)
のショートカット。- 戻り値:
- さらにカスタマイズするための
LogoutConfigurer
deleteCookies
public LogoutConfigurer<H> deleteCookies(java.lang.String... cookieNamesToClear)
ログアウトの成功時に削除する Cookie の名前を指定できます。これは、addLogoutHandler(LogoutHandler)
をCookieClearingLogoutHandler
で簡単に呼び出すためのショートカットです。- パラメーター:
cookieNamesToClear
- ログアウトの成功時に削除される Cookie の名前。- 戻り値:
- さらにカスタマイズするための
LogoutConfigurer
logoutSuccessHandler
public LogoutConfigurer<H> logoutSuccessHandler(LogoutSuccessHandler logoutSuccessHandler)
使用するLogoutSuccessHandler
を設定します。これが指定されている場合、logoutSuccessUrl(String)
は無視されます。- パラメーター:
logoutSuccessHandler
- ユーザーがログアウトした後に使用するLogoutSuccessHandler
- 戻り値:
- さらにカスタマイズするための
LogoutConfigurer
defaultLogoutSuccessHandlerFor
public LogoutConfigurer<H> defaultLogoutSuccessHandlerFor(LogoutSuccessHandler handler, RequestMatcher preferredMatcher)
指定されたRequestMatcher
に対して呼び出されることを優先するデフォルトのLogoutSuccessHandler
を使用するように設定します。LogoutSuccessHandler
が指定されていない場合、SimpleUrlLogoutSuccessHandler
が使用されます。デフォルトのLogoutSuccessHandler
インスタンスが構成されている場合、デフォルトでSimpleUrlLogoutSuccessHandler
になるDelegatingLogoutSuccessHandler
が使用されます。- パラメーター:
handler
- 使用するLogoutSuccessHandler
preferredMatcher
- このデフォルトLogoutSuccessHandler
のRequestMatcher
- 戻り値:
- さらにカスタマイズするための
LogoutConfigurer
permitAll
public LogoutConfigurer<H> permitAll(boolean permitAll)
すべてのユーザーにlogoutSuccessUrl(String)
およびlogoutUrl(String)
へのアクセスを許可します。- パラメーター:
permitAll
- true がアクセスを許可する場合、何も実行されません- 戻り値:
LogoutConfigurer
をさらにカスタマイズします。
getLogoutSuccessHandler
public LogoutSuccessHandler getLogoutSuccessHandler()
null でない場合はLogoutSuccessHandler
を取得し、そうでない場合はlogoutSuccessUrl(String)
を使用して新しいSimpleUrlLogoutSuccessHandler
を作成します。- 戻り値:
- 使用する
LogoutSuccessHandler
init
public void init(H http)
インターフェースからコピーされた説明:SecurityConfigurer
SecurityBuilder
を初期化します。ここでは、共有状態のみを作成および変更する必要がありますが、オブジェクトの構築に使用されるSecurityBuilder
のプロパティは作成および変更しないでください。これにより、構築時にSecurityConfigurer.configure(SecurityBuilder)
メソッドが正しい共有オブジェクトを使用するようになります。ここで設定を適用する必要があります。- 次で指定:
- インターフェース
SecurityConfigurer<DefaultSecurityFilterChain,H extends HttpSecurityBuilder<H>>
のinit
- オーバーライド:
- クラス
SecurityConfigurerAdapter<DefaultSecurityFilterChain,H extends HttpSecurityBuilder<H>>
のinit
configure
public void configure(H http) throws java.lang.Exception
インターフェースからコピーされた説明:SecurityConfigurer
SecurityBuilder
に必要なプロパティを設定して、SecurityBuilder
を構成します。- 次で指定:
- インターフェース
SecurityConfigurer<DefaultSecurityFilterChain,H extends HttpSecurityBuilder<H>>
のconfigure
- オーバーライド:
- クラス
SecurityConfigurerAdapter<DefaultSecurityFilterChain,H extends HttpSecurityBuilder<H>>
のconfigure
- 例外:
java.lang.Exception
getLogoutHandlers
public java.util.List<LogoutHandler> getLogoutHandlers()
使用されるLogoutHandler
インスタンスを取得します。- 戻り値:
LogoutHandler
インスタンス。null にすることはできません。