2

私は検索しましたが、このサイトや他の場所でまったく同じ質問ではないにしても同様の質問をした人がいますが、それらの質問のいくつかは答えられず、残りは単に私には当てはまりません (別のエラー、古いケーキのバージョンなど)。

core.php に 2 つのルーティング プレフィックスを設定しました。それらは「管理者」と「モデレート」です。すべてのユーザーが 経由/users/loginでログインし、その後 にリダイレクトされるようにし/accountます。

などの認証が必要な標準 (プレフィックスなし) ページに移動すると、/accountリダイレクトされ/admin/users/loginます (プレフィックスは必要ありません)。

ログインすると、正常に にリダイレクトされ/accountます。(少なくともその部分は機能しています)

これが私のAppControllerコードです

public $components = array('Session',
   'Auth' => array(
        'loginAction' => array('prefix' => false, 'admin' => false, 'moderate' => false, 'controller' => 'users', 'action' => 'login'),
        'loginRedirect' => array('prefix' => false, 'admin' => false, 'moderate' => false, 'controller' => 'account', 'action' => 'index'),
        'logoutRedirect' => array('controller' => 'index', 'prefix' => false, 'admin' => false, 'moderate' => false),
        'authError' => "You can't access that page",
        'authorize' => array('Controller')
    )
); // components

また、すべての「false」を「null」に変更してみました。サイコロはありません。CakePHP 2.2.4 を使用しています

2014 年 2 月 11 日時点で編集人々はまだ回答しているため、この質問は解決済みであることをお伝えしたいと思います。正確な問題が何であるかを理解できなかったため、公式/承認済みの回答を投稿したことはありません。ルーティングに問題があったと思われます。上記で提供した AppController コードは正しかったです。

4

3 に答える 3

2

これを使用してみてください:

$this->Auth->loginAction = '/users/login';

それが役立つことを願っています!

于 2013-09-02T10:01:22.137 に答える
0

以下のコードを AppController.Hope に追加してください。

public function beforeFilter() {
    $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login','admin' => false, 'prefix' => false, 'moderate' => false);
    $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login','admin' => false, 'prefix' => false, 'moderate' => false);
    $this->Auth->loginRedirect = array('controller' => 'users', 'action' => 'home','admin' => false, 'prefix' => false, 'moderate' => false);
    }
于 2014-02-11T10:40:17.017 に答える