2013-05-10 52 views
0

我正在开发一个网站的注册确认功能。用户在注册页面成功注册后,随后通过超链接将电子邮件发送到用户的电子邮件地址,用户单击该链接并被导向至注册完成页面。WAS 8.0联合回购和Servlet规范3.0密码摘要的安全验证

我想通过request.login(username, password)方法实现Servlet Spec 3.0的编程安全性。唯一的问题是用户的Base64编码密码摘要使用单向散列算法存储在数据库中。当密码参数是Base64编码的字符串时,request.login(username, password)失败。我需要将一个Base64编码的字符串传递给我的联合存储库,以便它可以将该编码的密码摘要与JDBC定制用户注册表中的匹配副本进行比较。

我已经在WAS v8.0文档中搜索了接受哈希密码的任何提及。我只发现了有关联合回购中的LDAP回购的条目...不是联合回购中的JDBC定制用户注册。我读过你可以配置Tomcat和GlassFish来接受域的散列密码,我希望你可以在WAS 8.0中做同样的事情。如果没有...

是否有一种方法可以实现DIGEST验证1编程方式,即使我有我的.war的部署描述符中定义的<auth-method>FORM</auth-method>

回答

0

我放弃了使用WAS 8的联合存储库,转而使用Apache Shiro。配置shiro.ini是一个比WAS 8中需要的荒谬数量的深奥配置更加健全,灵活的解决方案。另外,Shiro将权力放在我手中,而不是要求管理员为我配置安全性。