2013-08-07 15 views
2

我想了解如何使用JAAS來保護Java EE應用程序。JAAS - 如何在Web層中驗證用戶?

其實我理解如何在EJB中使用規則,但是,我不明白如何在Web層中驗證用戶,例如使用登錄表單創建一個簡單的JSF頁面,使用以下命令檢查給定的用戶名&密碼數據庫,並在成功的情況下如何在我的應用程序中爲此用戶設置Principal。

這樣做的常見方法是什麼?我想盡可能多地使用與AS無關的解決方案。

回答

4

JAAS不是執行此操作的通用標準。事實上,JAAS登錄模塊有點不適合Java EE認證。全JAAS模型是爲在本地運行的Java應用程序創建的,屏蔽彼此代碼鹼(例如是允許從文件系統讀取一個特定的廣口瓶中)。

這是非常罕見的Java EE服務器來運行不受信任的代碼,這麼多的功能JAAS提供根本就沒有使用。關於這個話題

兩個非常好的文章如下:

什麼是常見的方式這樣做呢?

不幸的是,常見的是使用的AS具體的事情。這個「東西」的術語也是特定於AS的。它可以被稱爲從「境界」,「安全域」,「區」,「登錄模塊」什麼,誰知道還有什麼他們調用它。

我想盡可能多地使用AS獨立解決方案。

幸運的還有在Java EE 6的和超越,這是完全AS-獨立做到這一點的標準方式:JASPIC身份驗證模塊

然而,不同的應用服務器並不總是完全支持這一點。 Java EE標準的當然是一部分,是指供應商必須支持它,但是這仍然不意味着它們實現一切的規範說(而是他們只落實知道什麼爲TCK測試)。

請參閱我的更多信息寫JASPIC以下兩篇文章: