【发布时间】:2014-05-08 23:44:51
【问题描述】:
我最近将 Glassfish 从 3.1.2 更新到 4.0,并想设置一个我之前在我的应用程序上使用的 JDBCRealm,它使用基于 FORM 的身份验证。密码在数据库中使用 SHA-256 进行哈希处理(这是默认的摘要算法选项)。
领域具有在此 Glassfish 版本中成为必需的属性:密码加密算法。令人难以置信的是,Glassfish 官方文档说它是可选的,并且输入字段下的注释说将其留空是有风险的,但是您不能将其留空,因为它是强制性的。
无论我在此属性中设置什么,我都无法登录之前运行的应用程序。 (这对新注册用户和老用户都是如此。)我在谷歌上搜索了好几天,但找不到该字段的选项。有哪些选择?
另外,我将 Glassfish 与 MySQL 一起使用。 Glassfish 是否将加密的散列密码发送到数据库,或者只是对 MySQL 的一些指令,以使用这种加密存储散列密码?
This question 对我有所帮助,但没有解决我的问题。
更新:实际上,我不使用经典的基于 FORM 的身份验证,而是使用 HttpServletRequest#login() 进行编程登录的自定义 JSF 表单,但我认为这在这个问题上并不重要。
【问题讨论】:
-
你试过“无”吗?