0

AuthComponent を使用する CakePHP 2.2 で、ユーザーが既に認証されている場合、ユーザーを '/' から '/users' にリダイレクトする最良の方法は何ですか? すべての検索で、AuthComponent の loginRedirect および関連する情報が見つかりました。(1.x での) ルートの変更を詳述した投稿を読みましたが、これが最善の方法であるかどうかはわかりませんでした。挿入することもできました

if($path[0] == 'home' && $this->Session->check('Auth.User')){
    $this->redirect('/users/');
}

PageController::display() で、これが最も望ましい方法かどうかはわかりません。

このアプリケーションのインデックス ページは、ユーザーにサインアップまたはログインを求めるだけのページになるため、既にログインしているメンバーにとってはほとんど重要ではありません。

編集: beforeFilter() メソッドを再訪した後、思いついた

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

    if($this->request->params['pass'][0] == 'home' && $this->Session->check('Auth.User'))
        $this->redirect('/users');
}

しかし、これは本当に静的に見えます。

4

1 に答える 1

0

適切な方法は、コントローラーの beforeFilter メソッドからユーザーをリダイレクトすることです。.ctp ファイルからのリダイレクトは良くありません。

// PagesController.cpp 内

beforeFilter() {
  if($path[0] == 'home' && $this->Session->check('Auth.User')){
      $this->redirect('/users/');
  }
}

似たようなもの:
CakePHP Auth コンポーネントのリダイレクトの問題

于 2013-01-11T07:45:51.913 に答える