確かにConfigureはちと長いですよね(^^;。Pluginについて書きたいと思います。ACLに関しては、@ootatterさんの7日目の記事、ACL.phpとACL.iniについてでも取り上げられていますのであわせて読むと良いかと思います。ACLは難しい「ACL難しい」という話は結構良く聞きますし、実際僕もそう思っていました。今まではあまり細かな権限管理を要求される事も無かった事もあって、ACLは使わずに簡易的な権限管理機能を自作していました。2.2.0がリリースされているのを発見したので、今後の為にと試用してみました。実際試してみると、「難しい」というより「少し面倒」といった程度な感じでした。一度使い始めると本当に手放せない機能だと実感してます。Pluginを手元の環境で体験できるサンプルを作りました。Sample以下で実際の設置方法や注意点等を紹介します。設置したいディレクトリで以下の手順で、サンプルプロジェクトを配置します。以下の様な手順で、サンプルで使用するテーブルを作成します。いう名前で用意してありますので、適宜読み替えてください。./app/Config/Schema/schema_postgres.sql今回使用するテーブルは以下の2つです。ACL用テーブルの作成ACLで利用するテーブルはSchemaファイルが用意されているので以下の様に作成します。sampleを試す設定が終わったら、http://localhost/admin/にアクセスしてみましょう。ユーザーの作成ユーザーが存在しない状態でアクセスをすると、ユーザー作成画面に遷移するのでユーザーを作成します。この時点でグループが存在しない場合、「サイト管理者」と「一般ユーザー」の2つのグループが自動的に作成されます。ログインユーザー作成が完了すると、ログインページに遷移するので先ほど作成したアカウントでログインします。Pluginのaco同期処理(/admin/acl/acos/synchronize)に遷移します。現在定義されているコントローラ/アクションとacosテーブルの内容をチェックし、存在しない項目がリストアップされます。画面の下の方にある"Synchronize"をクリックし、acoを作成します。次に、アクセス権限の設定をします。permissions"をクリックしグループ毎の権限設定画面を表示します。初期状態ではアクセス権限が設定されていないので、サイト管理者の横にある緑のチェックマークをクリックし、サイト管理者にすべての機能へのアクセス権を与えます。設定が完了すると以下の様に、すべてのアクションへのアクセス権限が付与された事が分かります。ACLが正常に機能しているかを確認する為に、Groups->admin_indexへのアクセス権を削除してみましょう。下記の画像の赤丸の部分をクリックします。処理が完了すると、以下の様に表示が切り替わります。アクセスすると権限が無いため以下の様にエラーが表示されます。Pluginを使うととても簡単に権限の管理が可能です。グループ単位の設定の他、ユーザー毎にアクセスを許可したり、拒否したりといった事も簡単に出来ますので色々と試してみてください。実際のカスタマイズ内容はGitHubのCommitログを見ていただければ参考になるかと思います。幾つかコメントも書いておいたので、気づいた点等あれば適宜追記していただければと思います。Pluginはadminルーティングを利用する事を前提に実装されています。URL構造を検討する際には考慮しておきましょう。Group,User共にモデル経由で作成する必要があるACLに関連するデータは、ACLビヘイビアが自動的に生成等の処理を行います。Group,Userのテーブルデータを作成しただけではエラーが発生して正常に動作しません。初期状態を作成する際には注意が必要かもしれません。Pluginではデフォルトでuser_id=1のユーザーが特権ユーザーとして設定されています。下記の'acl.role.access_plugin_user_ids'に設定されているユーザーIDは特権ユーザーとして扱われ、ACLの設定がされていなくてもAcl関連のコントローラにアクセス出来ます。'acl.role.access_plugin_role_ids'にグループIDを設定すると設定したグループに所属するユーザーに特権が与えられます。Pluginを使う事でかなり簡単にACLを利用出来る事がお分かりいただけたかと思います。一度試してみてください。Collectionableの3つのプラグインの組み合わせ」です。2.2.0に付属のacl.potには一部の文言が含まれていないため、日本語化したい場合は注意が必要です。i18nコマンドを使って再抽出するか、手動で追加する必要があります。Authコンポーネントのflashメッセージをカスタマイズこれは私が実際に困って調べたのですが、TwitterBootstrapPlugin等を使用してデザインをカスタマイズしている場合Authプラグイン内で生成されるflashメッセージが表示されないという問題がありました。こんな場合には以下の様にAuthコンポーネントに設定をする事でカスタマイズ出来ました。月別アーカイブ著書はてなブログをはじめよう!kaz_29さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。