2013-07-22 15 views
0

您好我是新來的春季安全管理sssion。使用3.1版本。 我有一個傳統的索取網址,要求輸入用戶名/密碼,並設置cookie,如果用戶通過身份驗證。春季安全:現場直播服務器

我可以使用自定義過濾器和自定義驗證入點進行身份驗證的用戶。 我什麼無法理解的,假設我的原稿的要求是../myPage,並customauthentication濾波器具有defaultProcessingUrl ../myFilter,當用戶被重定向到從定製SSO網址我的應用程序(假設我傳遞myfilter路徑傳統sso的參數在成功認證後重定向),原始請求URL將如何被撤回,因爲我在非實時會話的實時模式下使用服務器。

據我瞭解ExceptionTranslationFilters使用HttpSession的屬性保存觸發身份驗證入口點原稿的網址,但在實時Live服務器的情況下重定向可以在其他服務器上結了?

一種選擇是使用「/ **」模式自定義過濾器,並通過原稿REQ爲重定向SSO LEGAÿ網址是什麼?但在這種情況下,創建傳統url的邏輯將被複​​制到cutom過濾器authenticationFailure Handler和自定義身份驗證點中。

有什麼建議?

回答

0

假設:你遺留在SSO不同的方式工作,從像的SiteMinder(http://en.wikipedia.org/wiki/Identity_management_system

的ExceptionTranslationFilter不保存URL觸發身份驗證入口點。 驗證過濾器和驗證入口點負責管理此操作。 請以LoginUrlAuthenticationEntryPoint爲例。 就你而言,你應該實現你自己的LegacySSOFilter和LegacySSOEntryPoint。 LegacySSOEntryPoint將重定向到Legacy SSO服務器,並在用戶身份驗證後重定向回原始應用程序。

請注意,你應該到您的重定向提供認證的用戶名回到原來的應用程序(這樣做在羊城通) LegacySSOFilter應採取用戶名和用戶同樣SiteMinder的過濾器進行身份驗證:http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#d0e6295

+0

感謝您的迴應Michael。我改變了方法,現在我正在使用自定義預先驗證過濾器,因爲這似乎更適合。 – coder

+0

如果有幫助,您可以接受並提出我的答案。 – Michael

+0

嗨邁克爾,我沒有接受你的答案,因爲我仍然不明白如何使用自定義身份驗證過濾器來解決問題。你提到ExceptionTranslationFilter沒有保存觸發認證點的URL,但是我知道這個過濾器將請求存儲在請求緩存中,可以用來獲取原始URL,但是因爲我有服務器在live-live模式下與非-sticky會話無法保證當用戶被重定向時請求信息將在緩存中可用(因爲請求緩存使用httpsession) – coder