2012-07-26 49 views
4

我試圖在我的登錄模塊中獲取HttpSession或請求。 我已經試過JACC,但它沒有工作。在JAAS登錄模塊中獲取HttpSession /請求

我需要這個,因爲我必須在登錄窗口中輸入驗證碼。也許一些JAAS忍者知道更好的方法來做到這一點。我使用kaptcha來做到這一點。

在此先感謝。

回答

8

我正是在我的應用程序上運行JBoss AS。

這就是我做,從登錄模塊中訪問HttpServletRequest的:

HttpServletRequest request = (HttpServletRequest) PolicyContext.getContext(HttpServletRequest.class.getName()); 

然後我得到的會議上,提取和驗證碼對其進行驗證,從屏幕上的請求參數。驗證用戶身份後,我從會話中刪除驗證碼參數。這對我來說很好。

請注意,登錄模塊也可以在用戶已通過身份驗證後由EJB調用激活。在這種情況下,captcha參數當然不會在會話中。所以你應該檢查它。