我需要一个简单的表单身份验证,我的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']
);
数据是这样的: 电子邮件:danielfpedro@gmail.com senha:95d3cddc86d8da996fb447d7faed12d560041ac23535a
明文密码“senha”是123mudar。
我正在尝试登录但是却返回了错误而且我不知道为什么不这样做。
答案 0 :(得分:0)
您是否会检查您的数据库是否有密码字符的限制?也许哈希密码长于varchar yo在数据库中配置的长度。尝试将其设置为VARCHAR(500)以获取密码列。