2009-02-03 36 views
1

我們將我們的網絡應用程序作爲.war文件分發給我們的客戶。這樣,用戶就可以將戰爭部署到他們的容器中,並且他們很容易就可以走。問題是,我們的一些客戶希望認證,並使用用戶名作爲應用程序內某些操作的參數。在容器中指定身份驗證而不是在web.xml中

我知道如何使用web.xml來配置它,但這意味着我們要麼告訴我們的客戶在war文件中破解,要麼分發2個單獨的戰爭;一個帶有認證(和預定義的角色),一個沒有。

我也不想強制對客戶進行身份驗證,因爲這需要更多關於Java容器和Web服務器的知識,並且使我們的應用程序更難以進行測試。

有沒有辦法在容器中進行身份驗證配置,而不是在web-app本身?

+0

你是什麼意思的「認證」?驗證什麼?哪個容器? – 2009-02-03 10:38:46

回答

2

在web.xml中,定義安全約束以將Web資源集合綁定到J2EE角色和登錄配置(對於需要對應用程序的某些資源進行訪問控制的客戶)。

然後,讓客戶將在您的Web應用程序中定義的J2EE角色綁定到在其應用程序服務器上定義的用戶組特定用戶和組。不需要任何訪問控制的客戶可以將所有角色綁定到未經授權的用戶(該用戶組的名稱特定於應用服務器,例如Websphere稱其爲「每個人」)。如果客戶希望將對Web應用程序中的資源的訪問限制爲有限的一組用戶或用戶組,可以按照用戶的需求將角色綁定到用戶/組。

如果需要進行身份驗證以驗證用戶在角色中的成員身份,則將使用web.xml中登錄配置中指定的身份驗證方法。

0

通常的做法是將用戶信息存儲在例如一個數據源(數據庫)。讓您的應用程序使用相同的數據源進行身份驗證。數據庫相對容易維護。您甚至可以實施一些管理頁面來維護應用程序內的用戶信息。

-1

許多容器(如Glassfish)都提供對JDBC領域的支持。在這種情況下,您可以爲組配置訪問權限(例如,在web.xml中),並讓客戶配置用戶名,密碼和組成員身份。

相關問題