我对登录和身份验证概念完全陌生。我正在开发一个 Glassfish Web 应用程序,该应用程序应该向任何访问者呈现一般内容,并为使用用户名和密码登录的注册用户提供一些额外内容。

我一直在阅读有关安全性的 Java EE 教程,我认为基于表单或 HTTP 身份验证可以满足我的需求(访问者在尝试浏览安全内容时会被要求提供凭据)。

然而,我的第一个猜测是注册用户应该与他们的散列和加盐密码一起存储在外部数据库中。Glassfish 中 Web 应用程序的安全性似乎依赖于直接在应用程序服务器上手动填充的领域(定义用户和组并将它们映射到应用程序中的角色)。

我是否误解了 Glassfish 的安全目的?或者领域可以是应用程序服务器之外的外部数据库吗?有关此主题的任何文档链接对我来说都是有用的。

先感谢您

有帮助吗?

解决方案

它实际上是可能的。 在GlassFish,请转至配置/安全/三界,创建一个新的境界和类名设置为com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm。 表示JDBC资源绑定到数据库,并注明表以及用户名/密码存储在列。还应包含一个表,用户必须属于该组的数据库被授予访问权限。表示那些还

在该应用程序,建立web.xml和sun-web.xml中与领域名照常进行。

其他提示

这是一篇关于 glassfish 中的 jdbc 领域的文章,其中包含您所描述的场景: http://java-cookbook.blogspot.com/2011/02/jdbc-security-realm-with-glassfish-and.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top