重複の可能性:
さまざまな関数のコンストラクターセッションの検証
フレームワーク:CI(CodeIgniter)
状況:
私は4ページ(コントローラー)を持っています:すなわち:
home
login
dashboard
editprofile
アクセス
ログインしているかどうかに関係なく、すべてのタイプのユーザーがホームにアクセスできます
ログインは、認証されていない場合にのみアクセス可能である必要があります
ダッシュボードとeditprofileには、学生(認証されたユーザー)のみがアクセスできます。
私はこのような私のコントローラーのためにこの検証を持っています:
if($this->session->userdata('isLoggedIn')){
// stay here do the function
} else {
// leave this page
header('Location:'.base_url().'login');
}
私は私の中にそれを持っていfunction index(){}
ます。
しかし、私がシステムを開発するにつれて、私がより多くのメソッド、より多くのコントローラーを作成するにつれて、それはより厄介になります。あなたがこれを使用する必要があるからです。
if($this->session->userdata('isLoggedIn')){
// stay here do the function
} else {
// leave this page
header('Location:'.base_url().'login');
}
あなたが方法を持っているたびに、
私はstackoverflowでいくつかの質問を読みました...そして唯一の最良の答えはこれです:ここにリンク
そのためにデコレータパターンを使用する必要があると書かれています...しかし、それをどのように行うのかがはっきりとわかりません。