Java jaas,对数据库表上的应用程序用户进行身份验证

Java jaas,对数据库表上的应用程序用户进行身份验证,java,jaas,Java,Jaas,我想知道使用jaas对数据库表上的应用程序用户进行身份验证的最简单方法 由于使用用户名/哈希密码的数据库表可能是最常见的解决方案,因此是否有“提供”的用于此类身份验证的LoginModule?Tomcat 6中的支持是现成的。这可能足以满足大多数需求。注意,Tomcat还提供了允许通过基于JNDI的JDBC数据源进行身份验证的功能;这更适合于需要专用连接池来访问身份验证数据源的应用程序。注意,领域实现支持使用;但不是默认情况。这需要通过每个领域的摘要属性进行额外的配置 Glassfish还支持使

我想知道使用jaas对数据库表上的应用程序用户进行身份验证的最简单方法 由于使用用户名/哈希密码的数据库表可能是最常见的解决方案,因此是否有“提供”的用于此类身份验证的LoginModule?

Tomcat 6中的支持是现成的。这可能足以满足大多数需求。注意,Tomcat还提供了允许通过基于JNDI的JDBC数据源进行身份验证的功能;这更适合于需要专用连接池来访问身份验证数据源的应用程序。注意,领域实现支持使用;但不是默认情况。这需要通过每个领域的摘要属性进行额外的配置

Glassfish还支持使用JDBC域对主体进行身份验证。有关创建领域的详细信息,请参见。该指南可能会提供关于管理领域所允许的值的可怜的文档,您将在中看到这些

如果您正在寻找方法来管理领域中的底层用户,那么大多数/所有容器都没有针对同一领域的管理工具。您必须自己编写这些工具

此外,如果您希望支持这些领域实现不支持的摘要算法,或者让这些实现以不同的方式工作(比如在密码中添加salt,或者根据策略锁定用户),那么您需要推出自己的实现


现在,如果您希望在应用程序中使用这些,通常可以通过在应用程序的适当部署描述符中指定领域来完成。假设这是一个web应用程序,您可以在中指定所使用的领域(用于表单、基本和摘要身份验证方案)。

对此的支持因容器而异。您可能需要添加有关您正在使用的应用程序服务器的信息。为什么不同容器的信息有所不同?(我添加了“应用程序”用户一词)。但是我将使用Glassfish或Tomcat6,因为JAAS模块是由应用服务器开发人员或程序员编写的。JavaEE标准中没有指定登录模块,这是遵守任何规范的先决条件。Tomcat、Glassfish、JBoss和WebLogic(可能还有WebSphere)支持各种形式的面向数据库的登录模块。如果您需要任何特定的信息,您必须在问题中说明。那么这是否意味着您需要在切换容器时重写应用程序的身份验证部分?