• ベストアンサー

CakePHPかPHPでユーザーのアクセス権を管理したい

CakePHPかPHP でユーザーのアクセス権を管理したいです。 例えば、システムにはAAAとBBB二人のユーザーがいると仮定します。 AAAが管理ユーザーで、AAAとBBBの編集画面が違っているとします。 AAAがBBBに対してEditの権を与える可能というような仕組み。 参考できるサイトあるいはソースがありますでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#94983
noname#94983
回答No.1

PHPで一から作ってもいいが、面倒くさいと思う。CakePHPが使えるなら、こっちのほうがい。CakePHPには、adminルーティングというのがある。これは、管理者用のページを作成するための方法で、特定のURLにページを用意しておくことで、そのページの管理者ページを用意できる機能。これはこのへんが参考になる。「cakephp adminルーティング」で検索すれば他にもいろいろある。 http://www.1x1.jp/blog/2006/09/cakephp_admin.html これに、Authで認証を行い、特定の利用者のみがアクセスできるようにすればいいと思う。より高度なアクセス制限をしたければACLを使う必要があるが、単に管理者のアクセスだけを許可するならAuthで十分だろう。これも「cakephp auth」で検索すればたくさん出てくる。 http://book.cakephp.org/ja/view/172/Authentication

その他の回答 (1)

  • mdp36
  • ベストアンサー率72% (26/36)
回答No.2

ソースは見せられませんが、私が最近作ったパターンでは、 ・AppController::beforeFilterでセッションの有無をチェック。あれば権限をグローバル変数に格納、無ければログイン画面にリダイレクト。 ・ログイン画面でユーザ情報と権限をfindしてセッションに格納する。 ・bootstrap.phpに権限の有無を判定する関数を記述する。 ・後はコントローラで画面の表示権限をチェックしたり、ビューで権限の無いメニューの表示を制御したりする。 権限の付与に関しては、権限を設定できる権限(Grant権限?)を用意しておけば、後は通常の編集画面と同様です。 ただ、ログアウトしないと権限が更新されないので、beforeFilterでユーザの更新時間をチェックしても良いと思います。

関連するQ&A