モデル追加した場合のACL設定追加方法
コントローラー単位でACLを設定している場合で、モデル(コントローラ)を新たに追加した際にはACLの設定追加が必要なので、その方法のメモ。
acoの現状。
controllersの下にUsersとGroupsがある。
[cake@cake console]$ ./cake acl view aco
Aco tree:
---------------------------------------------------------------
[1]controllers
[2]Users
[3]Groups
[4]prefix
(略)controllersの下に、新たなコントローラ名を追加する。
これを設定しないと、アクセスで無限ループに陥る場合あり*1。
[cake@cake console]$ ./cake acl create aco controllers Systems
New Aco 'Systems' created.
[cake@cake console]$ ./cake acl view aco
Aco tree:
---------------------------------------------------------------
[1]controllers
[2]Users
[3]Groups
[8]Systemscontrollers全体にアクセス権限のあるユーザなら、これだけでアクセスOK。
一般ユーザのように、コントローラ単位でアクセス許可を出してるユーザ用には、以下のようにpermissionを設定する。
[cake@cake console]$ ./cake acl grant Group.4 Systems read
mysql> SELECT * FROM aros_acos ORDER BY id DESC LIMIT 1\G
*************************** 1. row ***************************
id: 22
aro_id: 4
aco_id: 8
_create: 0
_read: 1
_update: 0
_delete: 0
1 row in set (0.00 sec)*1:特にSuperAdministrator権限