我正在制作一个CakePHP 2.2.3应用程序,它需要依赖其他现有的应用程序来获取其登录信息。用户名/密码组合存在于另一个数据库/服务器上,并且我已经设置了我的CakePHP应用程序,以在他们第一次登录到我的界面时创建新用户。过程如下:CakePHP 2散列随时间变化?
- 用户首次登录,提供用户名为&的密码。 CakePHP用户记录尚不存在
- 系统检查用户名是否存在于另一端
- 如果用户确实存在,那么我们提取密码并比较密码以查看是否存在他们匹配。
- 如果密码匹配,哈希什么是已经提供和保存用户记录
- 登录新创建的用户
这解决了一些问题对我们来说,主要有用户登录多个地方做某些事情。
我的问题似乎是,CakePHP在散列密码时得到的值似乎随着时间而改变。因此,他们不是用用户的密码登录用户,而是在他们登录后的第二天创建新的用户记录。我遇到了一个问题,我昨天无法使用特定用户登录...所以我查看了什么login()操作看到密码的哈希值为。
特定用户的密码是 '道路'
昨天,哈希是:988042d7f4e62760238d895472ecaf1844094f9f
今天,当我哈希道路,我得到:a8318e7bbe8ee5efc59f53b4ede4d80dc0495c6d
我真的不知道在哪里开始寻找,看看为什么会发生。为了让我的开发向前迈进,我所能做的就是更改我想要登录的用户记录的密码的哈希值。这是第二天我会这样做。有什么我可以做的错误的安全哈希或salt值在config/core.php?
我很想之一:
- 弄清楚为什么哈希正在改变
- 更改验证组件使用其他数据库登录用户
但我不是确定从哪一个开始
1.我从来没有听说过它自己的哈希变化。你和另一个开发人员在工作和上传2个差异吗? core.php文件的版本? 2.让我们看看你用来获取散列版本“道路”的代码。 3.你使用的是什么蛋糕版本? –
在app/Config/core.php中定义了salt。它说Configure :: write('Security.salt','xxxxx ...');但它总是一样的。 – Alvaro
暂时记录传递给[Security :: hash](http://api20.cakephp.org/view_source/security#line-86)的参数,他们可能会说。例如,也许一个函数/动作使用不同的哈希算法或甚至不同的盐。最后,如果你写一些单元测试,他们可能会揭示发生了什么。 – jeremyharris