1

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

<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');
    }

前もって感謝します :)

4

1 に答える 1

1

コントローラーとビューを別々に作成する必要はありません。

ユーザーの特権タイプ (1 または 2) をセッションに保存し、各コントローラーまたはビューでチェックを実行して、ユーザーの特権をチェックすることができます。

ビュー ファイル内のナビゲーションの例

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

コントローラーで同じ種類のチェックを実行して、ユーザーのアクセスが何らかの機能を実行するのに適切であることを確認できます。

于 2012-04-20T20:16:37.607 に答える