在我的应用程序中,我需要首先通过用户名和密码(两者都是数据库字段)检查用户身份验证, 蛋糕PHP已经通过
给出了这个 $this->Auth->fields = array(
'username' => 'username',
'password' => 'password'
);
我需要的是,如果在第一种情况下用户无法进行身份验证,请检查用户名和 forgot_password (均为数据库字段)的用户数据 为此我该如何使用Auth组件字段?我试过了:
else
{
$this->Auth->fields = array(
'username' => 'username',
'password' => 'forgot_password'
);
$this->Auth->login();
}
但这不起作用..还有其他方法吗? 我需要两种类型的交叉检查条件,就像其他一样。
答案 0 :(得分:1)
您必须使用$this->Auth->constructAuthenticate();
。
<?php
function login()
{
if ($this->request->is('post'))
{
if (!$this->Auth->login())
{
$this->Auth->authenticate = array('Form' => array('fields' => array('username' => 'username',
'password' => 'forgot_password')));
$this->Auth->constructAuthenticate();
if ($this->Auth->login())
{
//Your message here
//redirect to further pages
}
else
{
//redirect to login page
}
}
}
}