我在http://book.cakephp.org/3.0/en/controllers/components/authentication.html中阅读了所有cakephp组件Auth文档,但我找不到解决方案: - (
我正在尝试在组件Auth中使用名为“Usuarios”的不同模型,并将字段“username”更改为“cedula”。这是我在AppController.php中的配置:
public function initialize() {
parent::initialize();
$this->loadComponent('Flash');
$this->loadComponent('Auth');
$this->Auth->config('authenticate', [
'Basic' => [
'userModel' => 'Usuarios',
'fields' => [
'username' => 'cedula',
'password' => 'password']],
'Form' => ['userModel' => 'Usuarios',
'fields' => [
'username' => 'cedula',
'password' => 'password']]
]);
但没有任何事情发生。没有出现登录表单,会话已打开。
我做错了什么?
答案 0 :(得分:0)
将控制器名称与模板目录匹配,将方法与模板匹配。
如果你的控制器是src / Controllers / Usuarios,方法是login(),那么在src / Templates / Usuarios /中你需要将login.ctp作为你的视图文件。
如果你拥有所有这些,它应该有效。顺便说一句,如果你使用密码'作为您的密码字段,您不需要在配置Auth时指定;您只需要设置用户名' => ' cedula'因为您正在更改默认值。
另外,你在beforeFilter()方法中设置了$ this-> Auth-> allow()吗?