我正在为网站开发注册确认功能。用户在注册页面上成功注册,随后通过超链接将电子邮件发送到用户的电子邮件地址,用户单击该链接并转至注册已完成页面。
我想通过request.login(username, password)
方法实现Servlet Spec 3.0的编程安全性。唯一的问题是用户的Base64编码的密码摘要使用单向散列算法存储在数据库中。当password参数是Base64编码的字符串时,request.login(username, password)
失败。我需要将Base64编码的字符串传递给我的联合存储库,以便它可以将该编码的密码摘要与JDBC自定义用户注册表中的匹配对应项进行比较。
我已经在WAS v8.0文档中搜索过接受散列密码的任何提及。我只在联合回购中找到了与LDAP回购相关的条目...而不是联合回购中的JDBC自定义用户注册表。我已经读过你可以配置Tomcat和GlassFish接受域的散列密码,我希望你能用WAS 8.0做同样的事情。如果不是......
有没有办法以编程方式为1方法实现DIGEST身份验证,即使我在.war的部署描述符中定义了<auth-method>FORM</auth-method>
?
答案 0 :(得分:0)
我使用WAS 8的联合存储库而不是Apache Shiro。配置shiro.ini是一个更加理智,灵活的解决方案,而不是WAS 8中所需的大量深奥配置。另外,Shiro将电源放回我手中,而不是要求管理员为我配置安全性。