クラス SecurityContextHolderAwareRequestFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter
- 実装されたすべてのインターフェース:
javax.servlet.Filter
、org.springframework.beans.factory.Aware
、org.springframework.beans.factory.BeanNameAware
、org.springframework.beans.factory.DisposableBean
、org.springframework.beans.factory.InitializingBean
、org.springframework.context.EnvironmentAware
、org.springframework.core.env.EnvironmentCapable
、org.springframework.web.context.ServletContextAware
public class SecurityContextHolderAwareRequestFilter extends org.springframework.web.filter.GenericFilterBean
ServletRequest
に、サーブレット API セキュリティメソッドを実装するリクエストラッパーを設定するFilter
。SecurityContextHolderAwareRequestWrapper
は、以下の追加メソッドを提供するように拡張されています。HttpServletRequest.authenticate(HttpServletResponse)
- ユーザーが認証されているかどうかを判断し、認証されていない場合はユーザーをログインページに送信します。setAuthenticationEntryPoint(AuthenticationEntryPoint)
を参照してください。HttpServletRequest.login(String, String)
- ユーザーがAuthenticationManager
を使用して認証できるようにします。setAuthenticationManager(AuthenticationManager)
を参照してください。HttpServletRequest.logout()
- ユーザーが Spring Security で構成されたLogoutHandler
を使用してログアウトできるようにします。setLogoutHandlers(List)
を参照してください。AsyncContext.start(Runnable)
-AsyncContext.start(Runnable)
を呼び出したスレッドにあるSecurityContextHolder
からSecurityContext
を、Runnable
を処理するスレッドに自動的にコピーします。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 SecurityContextHolderAwareRequestFilter()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
afterPropertiesSet()
void
doFilter(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res, javax.servlet.FilterChain chain)
void
setAuthenticationEntryPoint(AuthenticationEntryPoint authenticationEntryPoint)
HttpServletRequest
を Servlet 3 API と統合するときに使用するAuthenticationEntryPoint
を設定します。void
setAuthenticationManager(AuthenticationManager authenticationManager)
HttpServletRequest
を Servlet 3 API と統合するときに使用するAuthenticationManager
を設定します。void
setLogoutHandlers(java.util.List<LogoutHandler> logoutHandlers)
HttpServletRequest
を Servlet 3 API と統合するときに使用するLogoutHandler
を設定します。void
setRolePrefix(java.lang.String rolePrefix)
void
setTrustResolver(AuthenticationTrustResolver trustResolver)
使用するAuthenticationTrustResolver
を設定します。
メソッドの詳細
setRolePrefix
public void setRolePrefix(java.lang.String rolePrefix)
setAuthenticationEntryPoint
public void setAuthenticationEntryPoint(AuthenticationEntryPoint authenticationEntryPoint)
HttpServletRequest
を Servlet 3 API と統合するときに使用するAuthenticationEntryPoint
を設定します。具体的には、HttpServletRequest.authenticate(HttpServletResponse)
が呼び出され、ユーザーが認証されていない場合に使用されます。値が null(デフォルト)の場合、
HttpServletRequest.authenticate(HttpServletResponse)
を呼び出してもデフォルトのコンテナーの動作が保持されます。- パラメーター:
authenticationEntryPoint
- ユーザーが認証されていない場合にHttpServletRequest.authenticate(HttpServletResponse)
を呼び出すときに使用するAuthenticationEntryPoint
setAuthenticationManager
public void setAuthenticationManager(AuthenticationManager authenticationManager)
HttpServletRequest
を Servlet 3 API と統合するときに使用するAuthenticationManager
を設定します。具体的には、HttpServletRequest.login(String, String)
が呼び出されてユーザーが認証されているかどうかを判別するときに使用されます。値が null(デフォルト)の場合、
HttpServletRequest.login(String, String)
を呼び出したときのデフォルトのコンテナー動作が保持されます。- パラメーター:
authenticationManager
-HttpServletRequest.login(String, String)
を呼び出すときに使用するAuthenticationManager
setLogoutHandlers
public void setLogoutHandlers(java.util.List<LogoutHandler> logoutHandlers)
HttpServletRequest
を Servlet 3 API と統合するときに使用するLogoutHandler
を設定します。具体的には、ユーザーをログアウトさせるためにHttpServletRequest.logout()
が呼び出されたときに使用されます。LogoutHandler
がHttpServletResponse
(予想)をコミットしない限り、ユーザーはレスポンスの処理を担当します。値が null(デフォルト)の場合、
HttpServletRequest.logout()
を呼び出したときのデフォルトのコンテナー動作が保持されます。- パラメーター:
logoutHandlers
-HttpServletRequest.logout()
を呼び出すときのList<LogoutHandler>
doFilter
public void doFilter(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
- 例外:
java.io.IOException
javax.servlet.ServletException
afterPropertiesSet
public void afterPropertiesSet() throws javax.servlet.ServletException
- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBean
のafterPropertiesSet
- オーバーライド:
- クラス
org.springframework.web.filter.GenericFilterBean
のafterPropertiesSet
- 例外:
javax.servlet.ServletException
setTrustResolver
public void setTrustResolver(AuthenticationTrustResolver trustResolver)
使用するAuthenticationTrustResolver
を設定します。デフォルトはAuthenticationTrustResolverImpl
です。- パラメーター:
trustResolver
- 使用するAuthenticationTrustResolver
。null にはできません。