使用Wordpress wp_users表来执行Glassfish身份验证

时间:2014-04-07 19:56:42

标签: java wordpress java-ee authentication glassfish

我正在努力寻找处理以下用例的最佳方法。

我有一个基于Wordpress的网站,我正在开发一个基于Java EE的Web应用程序来处理无法在Wordpress中处理的特定进程。

用户群是相同的,所以我想允许用户使用相同的凭据在Wordpress和我的Glassfish部署的Java EE应用程序上登录。我不是在谈论SSO,我只需要确保在两个应用程序中都使用相同的用户名/密码。

我想到的解决方案如下(每个都有缺点):

  • 通过自定义jdbc资源使用wp_users表设置jdbcRealm。这是行不通的,因为Wordpress使用盐和恕我直言,没有办法告诉Glassfish如何使用相同的腌制机制

  • 实现一个Glassfish身份验证器(我已经完成了FB登录并且很容易)并从纯文本计算盐渍密码。这不起作用,因为我不知道如何用Java计算WP盐渍密码

  • 将Glassfish中的用户直接创建到wp_users表中。这是行不通的,因为最近的Wordpress版本不能使用普通的MD5,因为我找不到用Java计算WP盐渍密码的方法

  • 使用WP XML-RPC API检查凭据。你们有些人曾试过这样做吗?这实际上是否可以使用标准WP API?

  • 最后,最有希望的解决方案是this library,这是Portable PHP密码哈希框架的Java实现。在尝试之前,我想知道是否有人成功尝试过。

感谢任何其他想法。

谢谢。

1 个答案:

答案 0 :(得分:0)

经过一些研究后,实际上发现用Java计算WP哈希是非常可行的,因为它们使用Portable PHP password hashing framework。有几个库在某种程度上有助于在Java中实现PHPass。

我设法稍微修改this class以使其适用于使用Authentic Roast创建的Glassfish身份验证器。

所以在我的问题中提到的第二个选项是我最终实现的那个。