提问者:小点点

Cakephp v3。0.5在组件身份验证中使用不同的模型


我在中阅读了所有cakephp组件身份验证文档http://book.cakephp.org/3.0/en/controllers/components/authentication.html但我找不到解决办法:-(

我试图在组件Auth中使用不同的模型,称为“用户名”,并将字段“用户名”改为“用户名”。这是我在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']]
]);

但是什么都没发生。没有出现登录表单,会话打开。

我做错了什么?


共1个答案

匿名用户

将控制器名称与模板目录匹配,将方法与模板匹配。

如果您的控制器是src/Controllers/Usuarios,方法login(),那么在src/Templates/Usuarios/中,您需要登录。ctp作为您的视图文件。

如果你有所有这些,它应该工作。顺便说一下,如果您使用“password”作为密码字段,则在配置Auth时不需要指定该字段;您只需设置“用户名”=

还有,你有没有用$设置任何东西-