如何让用户在访问帐户时重新输入密码?例如:domain.com/account
然后他们看到一个简单的密码字段(即使他们已登录)如果他们输入密码错误,那么他们会被注销并发送到主页,其中会话消息说'为了安全您已退出帐户的原因'。
有人可以帮忙吗?
该帐户是我的用户控制器中的编辑方法。
由于
答案 0 :(得分:0)
我会做这样的事情〜
// edit.ctp View
echo $this->Form->input('password_check', array('type'=>'password'));
// user.php Model
function check_user_password($get_the_current_users_id) {
$salt = Configure::read('Security.salt');
$this->User->id = $get_the_current_users_id;
$hashed_password = $this->User->field('password');
// check password
if($hashed_password == md5($data['User']['password_check'].$salt)) {
return true;
} else {
return false;
}
}
您需要调整密码哈希位;如果你不使用盐等。
但我们的想法是将数据库中的用户哈希密码与他们提交的密码进行比较。如果匹配;然后你可以继续否则,您可以注销/返回错误。 (为了实用性,我会不注销用户,因为这会让人讨厌。)