我使用cookbook使用以下代码创建自己的自定义身份验证:
// Controller/Auth/CustomAuthenticate.php
App::uses('BaseAuthenticate', 'Controller/Component/Auth');
class CustomAuthenticate extends BaseAuthenticate {
public function authenticate(CakeRequest $request, CakeResponse $response) {
return false;
}
}
// Controller/UserController.php
class UserController extends AppController {
var $components = array('Auth' => array('authenticate' => array('Custom')));
public function login() {
// some code that includes:
$this->Auth->login($this->request->data);
}
}
使用正确的凭据,登录似乎有效,尽管我的CustomAuthentication类中的authenticate方法返回false。
我正在使用CakePHP 2.1
答案 0 :(得分:1)
你不能指望这种方式有效,因为你不应该在登录表单上传递$this->request->data
。
只是
$this->Auth->login();
否则您正在跳过身份验证,并且传递的数据将始终记录此用户。无论是garbige还是正确的凭据。从来没有使用登录表单。