我正在使用GlassFish 3.1和JSF 2.0/EJB 3.1開發Web應用程序。我的一些網頁是安全的。受保護的URL部分在web.xml
中定義爲URL模式。這些頁面通過安全領域進行保護,安全領域重定向到web.xml
中定義的登錄頁面login.xhtml
。在login.xhtml
我的用戶名和密碼inputfields連接到會話域的支持bean,其執行:如何知道在登錄JSF 2頁面之前請求了哪個頁面
ExternalContext ec = getExternalContext();
HttpServletRequest request = getHttpServletRequest(ec);
request.login(username, password);
EJB容器負責重定向所有傳入請求到安全區域與無效的會話到這個頁面。
但是,例如,用戶正在書籤頁面index.xhtml
並且正在請求該頁面。首先他必須登錄login.xhtml
。他通過輸入他的用戶名和密碼並單擊提交按鈕進行身份驗證。
的問題是:如何確定目標ADRESS,在這種情況下index.html
? 方法request.getRequestURI()
顯示login.xhtml
而不是index.html
。我總是可以重定向到index.xhtml
,但如果用戶鍵入xyz.xhtml
?有什麼辦法嗎?
由於
阿德姆
比ks的答案。這把我正確的方式來尋找解決方案! – AdemC
是否可以添加一些代碼來說明如何閱讀這些密鑰? :) – simgineer