如何向CakePHP 2.0身份验证中添加超级密码
我的客户特别要求在应用程序中添加“超级登录”的可能性,这将使他能够以任何用户的身份登录,这要感谢超级密码。我的想法是这样的:在CakePHP Auth进程的某个地方添加了一个条件,该条件将允许使用特殊字符串作为密码,因此使用此字符串用户将通过$this->Auth->login()方法进行身份验证,他使用用户密码以正常方式登录。 以前有人这样做过吗?有没有办法达到这个目标 以下是我在UserController中的代码行,它为用户进行身份验证:如何向CakePHP 2.0身份验证中添加超级密码,php,cakephp,authentication,passwords,Php,Cakephp,Authentication,Passwords,我的客户特别要求在应用程序中添加“超级登录”的可能性,这将使他能够以任何用户的身份登录,这要感谢超级密码。我的想法是这样的:在CakePHP Auth进程的某个地方添加了一个条件,该条件将允许使用特殊字符串作为密码,因此使用此字符串用户将通过$this->Auth->login()方法进行身份验证,他使用用户密码以正常方式登录。 以前有人这样做过吗?有没有办法达到这个目标 以下是我在UserController中的代码行,它为用户进行身份验证: public function admin
public function admin_login() {
if ($this->Auth->login()) {
$this->redirect($this->Auth->redirect());
}
if ($this->request->is('post')) {
if ($this->Auth->login()) {
$this->Session->setFlash(__('Successfully Logged In'),'flash_custom_success');
$this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash(__('Invalid username or password, try again'),'flash_custom_error');
}
}
}
经过思考(不喜欢“超级密码”的想法),我决定为管理员创建用户切换功能。此解决方案已被客户接受。是否无法说服客户这是不安全的?任何拥有超级密码(需要配乐)的人都会造成严重破坏。。。特别是,如果他想记住一个“简单”的密码,并最终得到“superPassword123”,我同意,可能更好的方法是增加管理员切换到另一个用户的可能性。后台逻辑只需在会话中重写$user数组,就可以达到预期的效果。