0

3 つの異なるメンバー グループを持つ codeigniter を使用してアプリを構築しました

管理者- ダッシュボードにログインし、イベント、ショー、アーティストを追加/編集/削除するための CRUD 機能を持っている人

クライアント- フロントエンドからログインし、管理者がバックエンド経由で追加したすべてのアイテムを表示します。

メディア パートナー- フロントエンドからログインし、クライアントが見ることができるものの特定の部分を表示しますが、すべてのものを表示するわけではありません。

すべて正常に動作するクライアント セクションの Tank_Auth ライブラリを統合しました。私が達成したいのは、管理者が別の管理エリアにログインできるようにし、メディア パートナーも別のエリアにログインできるようにすることです。

これにアプローチする最良の方法は何ですか?

ユーザーベースごとに個別のダッシュボード コントローラーを作成し、Tank_Auth コントローラーを 3 回複製して微調整する必要がありますか?

理想的には、管理者ユーザーもニュース ユーザーを追加し、3 つの別々の領域すべてにログインできる必要がありますか?

以前にそのような解決策を達成した人はいますか?おそらくタンク認証は正しいアプローチではありませんか?

任意の入力をいただければ幸いです。

ありがとうダン

4

3 に答える 3

1

CI を使用していますが、Tank_Auth を使用していません。認証クラスがあり、すべての関数で次のメソッドを呼び出しています。$this->auth->accessMap(get_class($this),__FUNCTION__);

認証クラス: public function accessMap($controller_name,$function_name) { if ($this->perms_array[$controller_name][$function_name]) return true; そうでなければ $this->redir(); }

構成に権限配列があります:

$config['user_perms']['className']['method1'] = array($config['user_types']['admin']);
$config['user_perms']['className']['method2'] = array($config['user_types']['admin'],$config['user_types']['user']);

このように、メソッドごとに、どのユーザーがそれを使用する権限を持つかを指定できます。

これが役立つことを願っています。

于 2010-08-06T13:15:18.923 に答える
1

現在、CI フォーラムの Web サイトにログインできないように見えるため、CI フォーラムでスレッドが見つかりませんが、「codeigniter の zend_acl」を検索してください。または、実装方法に関するこのブログ投稿がありますが、少し古くなっています。

ACL は Access Control List の略で、さまざまなタイプのユーザーにさまざまな権限を設定できます。私の意見では、Zend は ACL の最良の実装の 1 つです。

ACL の詳細については、zend の Web サイトを参照してください。

于 2010-08-06T13:04:25.270 に答える
0

複数のユーザーグループがある場合、tank_authを使用する場合、ユーザーグループがないことは問題です。私は最近この問題に遭遇しました。これがCIフォームに掲載されたソリューションです。

フロントエンドユーザーの登録とログインおよびバックエンド管理者ログインの両方にtank_authを使用する

于 2012-02-22T20:13:31.627 に答える