title: Filter的应用
VirtualFilterChain
含有12个拦截器
当是登陆请求路径的时候即login
DefaultLoginPageGeneratingFilter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
public void (ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res;
boolean loginError = isErrorPage(request); boolean logoutSuccess = isLogoutSuccess(request); if (isLoginUrlRequest(request) || loginError || logoutSuccess) { String loginPageHtml = generateLoginPageHtml(request, loginError, logoutSuccess); response.setContentType("text/html;charset=UTF-8"); response.setContentLength(loginPageHtml.length()); response.getWriter().write(loginPageHtml);
return; }
chain.doFilter(request, response); }
|
当不是登陆的路径 应该重定向
通过ExceptionTranslationFilter可以重定向, 通过重定向
1 2 3 4
|
if (ase != null) { handleSpringSecurityException(request, response, chain, ase); }
|
ApplicationFilterChain
近期评论