1

我正在使用Spring Security 2.0.4的舊版應用程序。我創建了一個自定義的AbstractPreAuthenticatedProcessingFilter和PreAuthenticatedAuthenticationProvider。他們根據來自客戶登錄服務器的請求中作爲參數發送的電子郵件地址創建並認證用戶。 (不是很安全我知道但這就是要求)Spring MVC 2.5 - 記住我的自定義預認證過濾器

這一切工作正常,但我的問題是,我需要創建一個自定義的cookie一旦用戶進行身份驗證,以便他們可以訪問該應用程序之外的當前會話,而不必被登錄服務器重定向。

我無法訪問AbstractPreAuthenticatedProcessingFilter或PreAuthenticatedAuthenticationProvider中的HttpServletRepsonse對象,因此我不能只在響應中設置一個cookie。我可以將RememberMeServices實現到AbstractPreAuthenticatedProcessingFilter類中,但我不確定這是否正確。

任何人都可以指向正確的方向嗎?我是否需要創建自定義記住我的功能?我想要做的就是設置一個cookie(如果一個不存在的話),一旦用戶被認證。然後,爲了將來的請求,我可以驗證AbstractPreAuthenticatedProcessingFilter中的cookie並返回經過身份驗證的主體。

回答

1

固定而不會產生新的過濾器或記憶 - 我(這確實沒有什麼太大的預認證做)搞亂

我直接無視了:AbstractPreAuthenticatedProcessingFilter#successfulAuthentication 這使我獲得了HttpServletRepsonse和它只會在成功驗證時觸發。