2

私は CakePHP と MVC フレームワーク全体に非常に慣れていません。私の質問は、私の Web サイトにセッションを組み込むのに最適な場所はどこかということです。

ユーザーがサイトにアクセスするとすぐにセッションを開始し、それが有効かどうか、およびコントローラーへの各呼び出しの前にユーザーが (セッション属性を介して) ログインしているかどうかを確認したいと考えています。

AppController で有効なセッションをチェックするロジックを配置する必要がありますか? もしそうなら、AppController をインスタンス化するものがないため、どうすればよいのでしょうか? $this->html->session() を使用することはできません。

どうもありがとう

4

2 に答える 2

0

セッションに値を保存するには:

  $this->Session->write("myvalue");

セッションから値を読み取るには:

$this->Session->read("myvalue");

次を使用して値が設定されているかどうかを確認することもできます。

$this->Session->check("myvalue");

コントローラーで beforeFilters を使用して、コントローラーへのアクセスをブロックすることもできます。

public function beforeFilter(){
   parent::beforeFilter();
   if(!$this->Session->check("id")){
      $this->redirect("/users/login");
}
}

または、上記をプライベート メソッドでラップし、アクセスを制御するすべてのアクションの最初の行でメソッドを呼び出します。

于 2013-08-21T18:09:34.703 に答える