2012-04-20 10 views
1

Codeigniterを使用してWebアプリケーションを構築しているとします。私はユーザーの2つのレベル - 1. Admin2. Managerを持っています。私は私の管理者が編集、削除、追加することができるようにしたいので、私のビューファイルに私は、次があります。Codeigniterでのユーザー特権の制御

<a href="somelink">ADD</a> 
<a href="somelink">EDIT</a> 
<a href="somelink">DELETE</a> 

しかし、いくつかの特定のページに、私は私のマネージャーは削除できないようにしますか、任意のレコードを編集すると、データのみを追加することができます。私の質問は、私は複数のタイプのユーザーとユーザー権限を持っているので、私は自分のマネージャー(そして他のユーザーレベル)のために新しいコントローラーとビューファイルを作成する必要があります。私が管理者に使用するコントローラーとビューファイル?

現在、私はADMINとMANAGERのコントローラ、モデル、ビューファイルを別々に作成していますが、これは非常に苦労しています。だから私はこれを行う良い方法があると思った。

これを処理する方法について専門家からアドバイスをいただけますか?事前に

parent::__construct(); 
    if (!($this->session->userdata('user_type')== 'flex_admin')) 
    { 
     redirect('login'); 
    } 

感謝:)

答えて

1

あなたが最も確かに別々のコントローラを作成する必要はありません。私は私のコントローラで次のコードを使用していますログインしているユーザーの種類を把握する

とビュー。

セッションにユーザー特権の種類(1または2)を格納してから、各自のコントローラまたはビューをチェックして、そのユーザーの特権を確認できます。

ビューファイル内

NAVの例

<div id="nav"> 
    <ul> 
    <li>Home</li> 
    <li>Logout</li> 
    <?php if($this->session->userdata('privilege') == 1) : ?> 
     <li>Delete</li> 
    <?php endif; ?> 
    </ul> 
</div> 

あなたは、ユーザーのアクセスは、いくつかの機能を実行することが適切であることを確認するために、コントローラのチェックの同じ種類を実行することができます。

関連する問題