當<http auto-config="true">啟用時,Spring Security自動註冊一組核心過濾器。本文逐一解析各過濾器職能與執行順序(圖7.1)。
SecurityContext放入SecurityContextHolder(ThreadLocal),無則創建新實例;請求結束時清理SecurityContextHolder防線程池污染。/j_spring_security_logout請求,銷毀Session、清空SecurityContextHolder、重定向到登出成功頁,可配合RememberMe清理Cookie。/j_spring_security_check,驗證用戶名密碼,成功跳轉目標頁或默認頁,失敗跳轉錯誤頁。/spring_security_login),功能完整但樣式簡陋,僅供演示,實際項目應自定義(參考第4章)。HttpServletRequest,提供getRemoteUser()等便利方法直接獲取當前登錄用戶名。SecurityContext授予權限。FilterSecurityInterceptor拋出的AuthenticationCredentialsNotFoundException、AccessDeniedException,轉向登錄頁或返回403/401。AuthenticationCredentialsNotFoundException;已登錄無權拋AccessDeniedException;有權放行。理解默認過濾器鏈各節點職能,有助於自定義配置、擴展或排查安全問題。後續章節將深入各過濾器配置與用法。