【发布时间】:2013-03-24 08:19:19
【问题描述】:
我们有一个 Wordpress 网站,我们将使用 cakePHP 框架逐步重建它。我们将逐步替换 Wordpress 站点的不同部分,因此我们需要实现某种单点登录,以便在两个框架并行运行期间允许跨两个框架进行授权。
我们有一个很好的策略来做到这一点。简而言之,我们将在两个不同的表中复制所有用户行:一个表用于 Wordpress (wp_users),另一个表用于 Cake (users)。 [更多细节概述here(如果您有兴趣)。]
这意味着当我们在 Wordpress 或 Cake 中创建用户时,我们也会在另一个表中创建相同的用户。这是“几乎无害的”......
我们正在努力解决 Wordpress 和 Cake 之间不同的密码散列策略。 为了在两个表中保存相同的用户密码,我们需要弄清楚如何散列它,以便每个相应的框架都可以检查它。
Wordpress 使用非常先进的散列算法:PHPass。 Cake(默认情况下)似乎提供了更传统的算法选择:SHA1、md5、blowfish... 可选加盐。我们坚持 Wordpress 生成/通过电子邮件向新用户发送默认密码,然后立即保存数据库中的散列版本。这个密码的散列版本对 cake 毫无用处,除非我们能弄清楚如何复制所有的 Wordpress 授权协议(这对于 Cake 的新用户来说似乎有些令人生畏)。
这个问题有什么优雅的解决方案吗?
【问题讨论】:
标签: wordpress cakephp authorization cakephp-2.0 single-sign-on