1

.war我们将我们的网络应用程序作为文件分发给我们的客户。这样,用户就可以将战争部署到他们的容器中,他们就可以开始了。问题是我们的一些客户希望进行身份验证,并使用用户名作为应用程序中某些操作的参数。

我知道如何使用 web.xml 进行配置,但这意味着我们要么必须告诉我们的客户在 war 文件中进行修改,要么分发 2 个单独的战争;一种具有身份验证(和预定义角色),一种没有。

我也不想对我们的客户强制进行身份验证,因为这通常需要更多关于 Java 容器和 Web 服务器的知识,并且让我们更难将我们的应用程序用于试驾。

有没有办法在容器中进行身份验证配置,而不是在 Web 应用程序本身中?

4

3 回答 3

2

在 web.xml 中,定义安全约束以将 Web 资源集合绑定到 J2EE 角色和登录配置(两者都适用于希望对应用程序的某些资源进行访问控制的客户)。

然后,让客户将您的 Web 应用程序中定义的 J2EE 角色绑定到用户组特定用户和在他们的应用程序服务器上定义的组。不想要任何访问控制的客户可以将所有角色绑定到未经授权的用户(该用户组的名称特定于应用服务器,例如 Websphere 将其称为“所有人”)。想要将您的 web 应用程序中的资源的访问权限限制为一组有限的用户或用户组的客户可以通过根据他们的需要将角色绑定到用户/组来实现。

如果需要身份验证来验证用户在角色中的成员身份,则将使用 web.xml 中登录配置中指定的身份验证方法。

于 2009-02-03T12:07:45.243 回答
0

将用户信息存储在例如数据源(数据库)中是常见的做法。让您的应用程序使用相同的数据源进行身份验证。数据库相对容易维护。您甚至可以实现一些管理页面来维护应用程序内的用户信息。

于 2009-02-03T10:39:01.227 回答
-1

许多容器,例如 Glassfish,提供对 JDBC 领域的支持。在这种情况下,您可以为组配置访问权限(例如,在 web.xml 中),并让客户配置用户名、密码和组成员资格。

于 2009-02-03T11:31:28.500 回答