我用以下属性配置了我的glassfish自定义领域:
Jaas: jdbcRealm
JNDI: jdbc/myDatasource
User Table: usuario
user name column: nombre
password-column: password
group-table: usuario
group-name column: grupo
这是我的数据库中引用的表:
usuario:
| usuario |
____________________________________________
| nombre | password | grupo |
--------------------------------------------
| SSS | | ADMIN |
--------------------------------------------
| AAA | AAA | ADMIN |
--------------------------------------------
我的问题是:
用户'SSS'登录没有问题,所以领域做得很好,另一方面AAA无法获得认证,密码不匹配
这是我的登录表单:
<p:panel header="Login From">
<form method="POST" action="j_security_check">
Username: <input type="text" name="j_username" />
Password: <input type="password" name="j_password" />
<br />
<input type="submit" value="Login" />
<input type="reset" value="Reset" />
</form>
</p:panel>
还有一件事,'SSS'用户登录,即使我在登录表单中为它写了一个密码。
请帮忙,太好了。
你知道玻璃鱼JDBCRealms使用密码哈希吗?所以通常你必须在数据库中存储散列密码(Glassfish 3.1 JDBCRealm默认使用SHA-256,之前的版本使用MD-5,其他Realm类型甚至可能有不同的默认散列算法)。
对于空密码有效的情况可能是服务器将使用空密码的用户处理为"匿名"用户,他们可以不使用密码或使用任何密码登录。