Cakephp认证->;login()不适用于带有admin前缀的登录操作

Cakephp认证->;login()不适用于带有admin前缀的登录操作,php,cakephp,Php,Cakephp,大家好,我已经尝试了基本的身份验证登录,它的工作很好,但当与管理员前缀一起使用时 $this->Auth->login() is returning false. 这是我的代码片段 在我添加的模型中 public function beforeSave($options = array()) { if (isset($this->data[$this->alias]['password'])) { $this->data

大家好,我已经尝试了基本的身份验证登录,它的工作很好,但当与管理员前缀一起使用时

 $this->Auth->login() is returning false. 
这是我的代码片段

在我添加的模型中

public function beforeSave($options = array()) {
        if (isset($this->data[$this->alias]['password'])) {
            $this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
        }
        return true;
    }
在AppController中,我添加了以下代码

public $components = array(
            'Session',     
            'Auth' => array(
                'loginRedirect' => array('controller' => 'users', 'action' => 'index', 'admin' => true),
                'logoutRedirect' => array('controller' => 'users', 'action' => 'login', 'admin' => true)
            )

        );
在UsersController中,我的管理员登录如下所示

public function admin_login() {
        if ($this->request->is('post')) {
            //$this->request->data['User']['password'] = AuthComponent::password($this->request->data['User']['password']);
            debug($this->request->data['User']['password']);
            debug($this->Auth->login());
            if ($this->Auth->login()) {
                $this->redirect($this->Auth->redirect());
            } else {
                $this->Session->setFlash(__('Invalid username or password, try again'));
            }
        }
    }
综上所述,

调试($this->request->data['User']['password'])正在返回正确的密码,但
调试($this->Auth->login())返回false


我无法找出返回false的原因,是否需要对管理员路由进行任何更改。

Inroutes.php 您可以编写以下代码:

Router::connect('/admin', array('admin' => true, 'controller' => 'users', 'action' => 'login'));
在AppController.php中

public $components = array(
      'Session',     
      'Auth' => array(
            'loginRedirect' => array('controller' => 'users', 'action' => 'index'),
            'logoutRedirect' => array('controller' => 'users', 'action' => 'login')
      )
);

试试这个。

我知道这已经有很长时间了,但是我可以知道你是怎么解决的吗?我也有同样的问题。它以前是工作的,但它已经有一段时间了,因为我访问了管理页面,现在它不工作。谢谢你的答复。