| 26件目(121件中) |

CakePHPのACLを理解する(Authコンポーネントから探る) その1

固定リンク:#0000000098   投稿者:ZiSTA 日時:2009-12-29 16:57:49   コメント( 0

CakePHPのACLが難しい。CakePHPに限らずACLそのものを理解していなかったのかも知れません。


CakePHPのマニュアルの5.1 アクセス制御リスト10.2 ACL を制御するシンプルなアプリケーションを読んだりしても今ひとつ理解出来ていない何かがありました。


マニュアルのACL部分以外にもAuthコンポーネント内にACLに関する記述があったのでAuthコンポーネントに関するマニュアルやAuthコンポーネントのソースを読んだりしました。AuthコンポーネントはACLのパーミッションをチェックする実例だったので、結局Authコンポーネントのソースを読んだ事がCakePHPのACLを理解を進める重要なポイントでした。ちなみにAuthコンポーネントはコントローラの各アクションの実行前に認証済みユーザーのACLパーミッションをチェックする機能を備えています。


Authコンポーネントを通じて理解出来たACLの基本的な使い方は以下のようになります。


1. ユーザーのアクセスをアクション単位で制御する
2. AROにはユーザーやグループを登録する
3. AuthコンポーネントのACLパーミッションのチェック方法はアクション・モードとCRUD・モードがある
4. ACOに登録する内容はアクション・モードとCRUD・モードでは異なる。
5. パーミッションの割当方法もアクション・モードとCRUD・モードでは異なる。


アクション・モードとCRUD・モードという複数のパーミッションのチェック方法がある事についてあまり知られていない事がACLの理解を難しくしていると思います。アクション・モードとCRUD・モードとはAuthコンポーネントの$authorizeプロパティの設定値から由来しています。


CakePHPのマニュアルでもどちらのモードが明確に記述が無いまま説明されているのです。CakePHPのマニュアルの5.1 アクセス制御リストは'CRUDモード'による利用例で、10.2 ACL を制御するシンプルなアプリケーションはアクション・モードによる利用例に基づいて説明されています。ACLについて別々の使い方であるという認識をもってこれらを読まれると良いと思います。

次回予定「アクション・モードとCRUD・モードについて」

 

コメント

| 26件目(121件中) |
↑ ページトップ