我需要一个简单的表单身份验证,我的Auth组件就是这样
public $components = array(
'Session',
'Auth'=> array(
'loginRedirect'=> array(
'controller'=> 'indicacoes'),
'logoutRedirect'=> array(
'controller'=> 'usuarios', 'action'=> 'login'),
'loginAction'=> array(
'controller'=> 'usuarios',
'action'=> 'login'),
'authenticate'=> array(
'Form'=> array(
'userModel'=> 'Usuario',
'fields'=> array(
'username'=> 'email',
'password'=> 'senha')
)
)
)
);我保存了一个用户的散列如下:
$passwordHasher = new SimplePasswordHasher(array('hashType' => 'sha256'));
$this->request->data['Usuario']['senha'] = $passwordHasher->hash(
$this->request->data['Usuario']['fake_password']
);数据如下: email: danielfpedro@gmail.com senha: 95d3cddc86d8da996fb447d7faed12d560041ac23535a
明文中的密码"senha“是123 plain。
我正在尝试登录,但返回false,我不知道为什么不。
发布于 2014-05-23 15:57:49
如果密码的字符限制是多少,你会检查数据库吗?可能哈希密码的长度超过了您在数据库中配置的varchar长度。尝试将密码列设置为VARCHAR(500)。
https://stackoverflow.com/questions/23797180
复制相似问题