2011-04-07 105 views
0

HI,验证在CakePHP

我有一个内置的身份验证蛋糕PHP的一个问题 - 我无法登录...

1)用户通过应用程序的控制面板添加和使用$这个 - 哈希> auth->密码( 'XXX') - 我已经检查它corrent在分贝

2)安全性的盐的活动没有用户/登录数据[ '用户'] [ '密码' emtpy

3) ]是空的,但在beforefilter()中它不是空的。主要的是它在某个机器上工作。

4)db的表用户有字段用户名和密码以及其他字段。

当我试图登录一个空白的屏幕后出现在我面前。

+0

空白屏幕表示您正在使用SecurityComponent并可能与萤火虫中的表单混淆。听起来像是要求被黑洞。你还可以确保调试已打开,以便显示任何错误 – dogmatic69 2011-04-07 10:48:10

回答

1

事实上,它只在某些机器上工作,正如您所提到的,会导致我查看浏览器是否存储cookie。我相信在认证之后,Cake会设置一个cookie,然后试图检索它 - 可能在这种情况下失败。

0

为什么使用$ this-> Auth-> password('xxx');当蛋糕事实自动做到这一点?你在散列哈希?

你可以在一些代码中链接,因为它应该很简单,例如:function login(){}并且可以与AuthComponent一起使用。

+0

不,我很抱歉。我正在使用$ this-> Auth-> login($ this-> data)在函数login()内的users_controller。 – vikram 2011-04-07 10:13:59

+0

这就是@ dogmatic69和我的意思是,你最有可能重新哈希散列,因为CakePHP自动散列应用程序中名为'密码'的任何字段。 – vindia 2011-04-07 12:16:15

0

你确定存储在数据库中的哈希正确吗?尝试手动散列密码并查看它是否与存储在数据库中的密码相同。 Cake会自动使用this->Auth->hashPassword来散列称为password的任何表单域,所以如果你自己也散列了密码,它会被散列两次,这样做不起作用。