我正在制作一个需要依赖另一个现有应用程序来获取其登录信息的 CakePHP 2.2.3 应用程序。用户名/密码组合存在于另一个数据库/服务器上,我已经设置了我的 CakePHP 应用程序以在他们第一次登录我的界面时创建新用户。这是过程:
- 用户首次登录,提供用户名和密码。CakePHP 用户记录还不存在
- 系统检查另一端是否存在具有相同(已清理)用户名的用户
- 如果用户确实存在,那么我们获取密码并比较密码以查看它们是否匹配。
- 如果密码匹配,则对提供的内容进行哈希处理并保存用户记录
- 登录新创建的用户
这为我们解决了一些问题,主要是有多个地方供用户登录以执行某些操作。
我的问题似乎是 CakePHP 在对密码进行哈希处理时获得的值似乎会随着时间而改变。因此,它不是使用密码登录用户,而是在他们登录的每一天创建一个新的用户记录。我遇到了一个问题,昨天我无法使用特定用户登录......所以我检查了login() 操作被视为密码的哈希值。
特定用户的密码是“roads”
昨天,哈希是:988042d7f4e62760238d895472ecaf1844094f9f
今天,当我哈希道路时,我得到:a8318e7bbe8ee5efc59f53b4ede4d80dc0495c6d
我真的不知道从哪里开始寻找为什么会发生这种情况。为了使我的开发向前发展,我所能做的就是更改我要登录的用户记录的密码的哈希值。这是我做这个的第二天。config/core.php 中的安全哈希或盐值有什么我可能做错的吗?
我愿意:
- 弄清楚为什么哈希会发生变化
- 更改 Auth 组件以使用其他数据库登录用户
但我不确定从哪里开始