在CakePHP v2.0中使用电子邮件地址进行身份验证
Okies这个问题类似于我最近在Stack Overflow上提出的问题,但我基本上只是使用CakePHP书中的代码,而不是我自己的代码来尝试理解为什么有些东西不起作用 基本上,这个想法是允许用户在Cake 2.0版中使用他们的电子邮件地址和用户名登录。但是,它总是返回详细信息不正确,但我仍然可以使用用户名登录,因此基本上AppController中的覆盖不会改变任何内容。。。更重要的是,我试图弄清楚如何允许这两个字段登录 正如在这里的原始帖子中所讨论的:@nIcO已经整合了一些可能对这两个领域都有效的东西,但是这里解释的问题导致它不起作用 有什么想法吗?任何人都可以使用2.0版进行电子邮件登录在CakePHP v2.0中使用电子邮件地址进行身份验证,php,cakephp,Php,Cakephp,Okies这个问题类似于我最近在Stack Overflow上提出的问题,但我基本上只是使用CakePHP书中的代码,而不是我自己的代码来尝试理解为什么有些东西不起作用 基本上,这个想法是允许用户在Cake 2.0版中使用他们的电子邮件地址和用户名登录。但是,它总是返回详细信息不正确,但我仍然可以使用用户名登录,因此基本上AppController中的覆盖不会改变任何内容。。。更重要的是,我试图弄清楚如何允许这两个字段登录 正如在这里的原始帖子中所讨论的:@nIcO已经整合了一些可能对这两个领域
// AppController
public $components = array(
'Auth' => array(
'loginAction' => array(
'controller' => 'users',
'action' => 'login'
),
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
)
);
// UsersController
public function login() {
if ($this->request->is('post')) {
if ($this->Auth->login()) {
return $this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash(__('Username or password is incorrect'), 'default', array(), 'auth');
}
}
}
虽然id在UsersController(而不是AppController)中添加了它,但这对我作为用户名的电子邮件有效:
public $components = array('Auth');
//beforeFilter in UsersController
function beforeFilter() {
parent::beforeFilter();
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
$this->Auth->authenticate = array(
'Form' => array(
'fields' => array('username' => 'email')
)
);
}
希望它在某种程度上有所帮助,尽管我在UsersController(而不是AppController)中添加了它,但这对我作为用户名的电子邮件有效:
public $components = array('Auth');
//beforeFilter in UsersController
function beforeFilter() {
parent::beforeFilter();
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
$this->Auth->authenticate = array(
'Form' => array(
'fields' => array('username' => 'email')
)
);
}
希望它在某些方面有所帮助这是我发现的最好的实现:http://bin.cakephp.org/view/1831131032
我喜欢将一些逻辑移到模型中,清除控制器逻辑,使其更具MVC。希望这能帮助其他人。这是我发现的最好的实现:http://bin.cakephp.org/view/1831131032
我喜欢将一些逻辑移到模型中,清除控制器逻辑,使其更具MVC。希望这能帮助其他人。您的登录视图和用户模型是什么样子的?你能把它也贴出来吗?它和这里贴的一模一样:我可以使用用户名登录,但不能使用电子邮件地址。你的登录视图和用户模型是什么样子的?你也可以发布吗?与这里发布的完全一样:一切都可以使用用户名而不是电子邮件地址登录。如果电子邮件地址找不到1.3中所述的用户,是否会自动回退以使用用户名,或者如果电子邮件失败,我是否必须执行此处讨论的操作,实际再次修改字段:嗯,不,我认为用户名不能有两个字段。是的,您添加的链接中提供的解决方案可能适用于重建身份验证参数。如果电子邮件地址找不到1.3中所述的用户,是否会自动回退以使用用户名,或者如果电子邮件失败,我是否必须执行此处讨论的操作,通过实际修改字段:嗯,否,我认为用户名不能有两个字段。是的,您添加的链接中提供的解决方案可能适用于重建身份验证参数。