0
 public function login() {
         if ($this->request->is('post')) {
            if ($this->Auth->login()) {
                $this->redirect($this->Auth->redirect());
            } else {
                $this->Session->setFlash(__('Invalid username or password, try again'));
            }
        }
    }

这是我的登录脚本和

  public $components = array('Acl', 'Session',
        'Auth' => array('authorize' => array('Controller'),
                        'loginRedirect' => array('controller' => 'users', 'action' => 'dashboard'),
                        'logoutRedirect' => array('controller' => 'users', 'action' => 'login'),
                        'authenticate' => array('Form' => array('fields' => array('username' => 'email')))

        )
    );

这是 appcontroller.php 中的认证组件

它正在使用电子邮件和密码登录,但没有重定向到用户/仪表板

但是如果我放置任何外部网址,它会完美重定向

eg:  'loginRedirect' => 'http://google.com',

它重定向到谷歌

我完全迷路了。请帮助

4

1 回答 1

1

确保允许您使用以下方式查看仪表板页面AuthComponent::allow()

将此方法添加到您的控制器:

public function beforeFilter() {
    $this->Auth->allow('dashboard');
}

确保为仪表板页面设置了路由

于 2013-07-28T11:06:58.427 回答