2014-06-12 41 views
0

Im爲應用程序實現SSO登錄功能,在該應用程序中,主機站點的SSO憑據在請求正文中與我的應用程序URL一起發送,而我的應用程序URL在我的頁面的index.jsp啓動時需要處理。我嘗試的方法是將這些SSO憑據(作爲值對象)存儲在Servlet上下文中,如下所示: context.setAttribute(「ssoCredentials」,ssoLoginVO);使用實現SSO登錄

一個Servlet過濾器,後來被從登錄頁面上的PhaseListener調用 servletContext.getAttribute( 「ssoCredentials」)

檢索。然而,試圖獲取屬性不起作用,儘管我在打印屬性名稱列表時看到了其他屬性。

這種方法是否存在缺陷,或者我沒有使用正確的方法來滿足我的需求?感謝您的幫助。

+0

什麼是你的問題:從servlet上下文獲取屬性或使用servlet上下文來存儲憑據(這是*不常見的*)? –

+0

您使用的是Kerberos嗎? –

+0

那麼問題是從上下文獲取屬性。不,我沒有使用Kerberos,afaik是一個本土的SSO實現。 – javshak

回答

0

通過設置會話內部的值解決了這個問題。後來在bean類中進行了檢索。然而,我必須注意在這種情況下防止會話失效(當使用SSO登錄時)。