Upload
takashi-nojima
View
1.120
Download
0
Embed Size (px)
DESCRIPTION
CakePHP新春勉強会@東京 LT
Citation preview
ACLを高速化するコンポーネント
Jan 2011
CakePHP新春勉強会@東京from 福岡サテライト
About Me
• WEB Developer / PHP / CakePHP / HTML / CSS / jQuery / MySQL / iPhone / 佐賀 / 福岡 / 島根 / 熊本 / プリン / キイロイトリ / ミッフィー / no more トマト
• BLOG: http://php-tips.com/
• TWITTER: @nojimage
名前: 野島 隆(のじま たかし)所属:イラスティックコンサルタンツ株式会社
ACL Component
Aclは重い
•権限を調べるcheckメソッドでは→Aroの取得→Acoの取得→Permissionの取得計3回のクエリを発行
SessionACL Component
SessionAcl
•http://bakery.cakephp.org/articles/macduy/2010/01/05/acl-caching-using-session
•Mac Duy Hai (macduy)
SessionAcl
•AclComponentの代替えコンポーネント
•check()の結果をセッションにキャッシュ
→ 2回目以降の呼び出しが高速化
How to use?
•bakery記事のコードをsession_acl.phpとしてapp/components/に保存<?phpclass AppController extends Controller {
// ...
// Aclの代わりにSessionAclを指定 public $components = array(‘SessionAcl’);
// ...
wait!
•本当にAclComponent互換?
wait!
•CakePHP1.3.6のAclComponent
のテストを走らせてみた
wait!
•CakePHP1.3.6のAclComponent
のテストを走らせてみた→ いくつかのテストが失敗
fixed!
•修正しましたhttps://gist.github.com/779479
Attention!!
•セッションに権限情報を格納するのでログアウトするまでACLの変更が反映されない
ご静聴ありがとうございました