认证组件

时间:2015-06-16 20:09:35

标签: cakephp-3.0

我第一次使用CakePHP。所以,请耐心等待我:

当我尝试在AppController.php中添加Auth组件时,我有一个名为admin_users的表。

执行时,我总是收到一条错误告诉我:SQLSTATE [42S02]:找不到基表或视图:1146表' db_test.users'不存在。 我的表名为admin_users,因此错误可能是因为表应该始终被调用" users"工作正常吗?

这是我在AppController.php中的实现:

public function initialize()
    {
        parent::initialize();
        $this->loadComponent('Flash');
        $this->loadComponent('Auth',[
            'authenticate' => [
                'Form' => [
                    'fields' => [
                        'username' => 'email',
                        'password' => 'password'
                    ]
                ]
            ],
            'loginAction' => [
                'controller' => 'AdminUsers',
                'action' => 'login'
            ]
        ]);
            $this->Auth->allow(['display']);
}    

在AdminUsersController中,登录函数:

public function login()
{
    if ($this->request->is('post')){
        $adminUser = $this->Auth->identify();

        if ($adminUser){
            $this->Auth->setAdminUser($adminUser);
            return $this->redirect($this->Auth->redirectUrl());
        }
        $this->Flash->error('Your username or password is incorrect.');
    }
}

谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个

在AppController.php中:

function beforeFilter() {
  $this->Auth->userModel = 'admin_users';
}