2010-08-04 100 views
1

我希望能够创建具有直接向上的SHA-1密码的用户。没有河豚,没什么特别的,只是普通的旧香草SHA-1。我已经能够做到这一点,到目前为止的唯一方法一直延伸DefaultUserProvider并重写的createUser,进行以下更改:OpenFire:没有河豚加密的SHA-1密码

if (!usePlainPassword) { 
    try { 
     encryptedPassword = StringUtils.hash(password.getBytes(),"SHA-1"); 
     // encryptedPassword = AuthFactory.encryptPassword(password); 
     // Set password to null so that it's inserted that way. 
     password = null; 
    } catch (UnsupportedOperationException uoe) { 
     // Encrypting the password may have failed if in setup mode. 
     // Therefore, use the plain password. 
    } 
} 

有没有更好的方式来做到这一点?思考?建议?

(这样做的理由“要求”是我试图通过mod_auth_mysql访问ofUser表,这样我可以有我的项目的所有不同的领域,如颠覆解决方案“单点登录”。)

回答

0

原来我的初始解决方案(在问题中提供)是完成此功能的唯一方法。我已经在Openfire支持论坛上与其他人进行了交流,他们也同意。

+0

问这个问题似乎有点晚,但我会给它一个镜头。你能提供一个更彻底的步骤来解决这个问题吗?你是否从源代码重新构建openfire或....? – Jeremy 2013-07-18 10:49:38

+0

我从事这项工作已有相当长的一段时间......但如果我没有记错的话,我最终会做出类似这样的事情:http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/ db-integration-guide.html当时,我不相信这个级别的集成是可能的,现在可能...会有兴趣知道它是否适合你。 – abrightwell 2013-07-22 00:05:15

+0

即使我有问题。自上周以来我一直没有运气。 – Jeremy 2013-07-23 06:39:52