1

ユーザー用に 2 つのグループがあります。管理者ユーザーでログインすると機能しますが、他のグループのユーザーでログインしようとすると無限ループになります。これは私が使用しているコードです:

ユーザーコントローラー.php:

public function login() {
if ($this->Session->read('Auth.User')) {
    $this->Session->setFlash('You are logged in!');
    $this->redirect('/pwds', null, false);
    }
else
        if ($this->request->is('post')) {
            if ($this->Auth->login()) {
                    $this->redirect($this->Auth->redirect());
            } else {
                $this->Session->setFlash('Your username or password was incorrect.');
            }
        }
}

public function logout() {
$this->Session->setFlash('Good-Bye');
$this->redirect($this->Auth->logout());
}

public function beforeFilter() {
parent::beforeFilter();
//$this->Auth->allow('index', 'view');
}

AppController.php:

public function beforeFilter() {
    //Configure AuthComponent

$this->Auth->allow('display');
    $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
    $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
    $this->Auth->loginRedirect = array('controller' => 'pwds', 'action' => 'index');
}

ありがとうございました

4

1 に答える 1

1

問題が見つかりました。管理者以外のユーザーは、ログインも含めて何も実行できなかったため、ログイン ビューにリダイレクトされ、無限ループが発生していました。

于 2013-06-20T10:15:08.957 に答える