使用备用摘要方法配置基于容器的身份验证

时间:2009-11-24 21:54:50

标签: java security tomcat java-ee jboss

关注prior question,我试图弄清楚如何为J2EE应用程序设置基于容器的身份验证。具体来说,我需要能够应用除java.security.MessageDigest支持的密码摘要算法(SHA,MD2或MD5 - here's where I think that limitation is documented)。在这种情况下,我的数据库存储Blowfish加密的密码。

我已经编写了Java代码来从我的数据库中获取加密密码,并通过执行Blowfish加密将用户输入的密码与数据库密码进行比较。如何设置它以便容器只使用我自己的Java类来执行用户身份验证?

我正在使用JBoss AS 5.1(我认为这意味着我的Tomcat版本是6)。

2 个答案:

答案 0 :(得分:2)

你需要为JBoss写一个custom LoginModule

在您的情况下,它应该是微不足道的,因为您要做的就是更改密码的编码方式,这样您只需扩展DatabaseServerLoginModule并覆盖单个方法,如上面链接所示的示例。< / p>

如果您要为独立的Tomcat执行此操作,则必须编写your own Realm。同样,可以合理地直接扩展JDBC或数据源领域

答案 1 :(得分:0)

我在网上找到的与编写自定义登录模块相关的所有文档仅适用于JBoss v4或更早版本。我无法找到在JBoss v5.1中执行此操作的单个工作示例。这非常令人沮丧。我可以在JBoss官方网站上找到JBoss v5.1的javadoc;实际上,网上任何地方都没有与自定义模块相关的当前安全文档。我搜索了我在Barnes&amp; amp;高贵,仍然没有运气。在这一点上,我们正在考虑迁移JBoss,b / c缺乏文档只是不专业。