java检查用户是否启用了Glassfish 4 JDBCRealm
我正在尝试创建一个登录页面,通过Glassfish服务器上的JDBCRealm对用户进行身份验证(我认为这是最简单的方法),到目前为止,我成功地让它工作起来。 但是在数据库的用户表中,我有一个“is_active”列,当该列包含“false”时,我希望服务器拒绝登录尝试(就像使用错误的密码一样)。 我对JavaEE还比较陌生,不知道应该在哪里寻找这个。有人知道怎么做吗
你可以在下面搜索框中键入要查询的问题!
我正在尝试创建一个登录页面,通过Glassfish服务器上的JDBCRealm对用户进行身份验证(我认为这是最简单的方法),到目前为止,我成功地让它工作起来。 但是在数据库的用户表中,我有一个“is_active”列,当该列包含“false”时,我希望服务器拒绝登录尝试(就像使用错误的密码一样)。 我对JavaEE还比较陌生,不知道应该在哪里寻找这个。有人知道怎么做吗
# 1 楼答案
首先,我不知道为什么glassfish不能提供更好的默认安全领域。JDBCRealm不支持附加用户密码,也不支持更现代的哈希技术,如PBKDF2等
话虽如此,我认为如果您想使用默认的JDBCRealm,这里有一种方法可以让它只对“活动”用户强制访问某些页面
有三张类似于以下表格的表格(这些是为博士后准备的)
创建一个“活动”组,而不是users表上的is_active列。然后,您可以强制该组/角色的成员访问web应用的部分内容(确保正确设置组和角色之间的映射)
例如,如果您希望所有URL都只能由“活动”用户访问,您可以在您的web中放置类似于下面的内容。xml:
我想你的密码散列代码工作正常,数据库表用glassfish成功设置了吗?这可以说是一件令人头疼的事
关于与角色/小组合作的文档: http://docs.oracle.com/javaee/6/tutorial/doc/bnbxj.html