CakePHP 2.0 AuthComponent userScope→scope
Posted in CakePHP on 11月 22nd, 2011 by Site AdministratorAuthコンポーネントで、認証対象のレコードの取得条件を追加で設定する場合は
1.3まではuserScopeを設定していましたが、2.0からは「scope」と変更になったようです。
Authコンポーネントで、認証対象のレコードの取得条件を追加で設定する場合は
1.3まではuserScopeを設定していましたが、2.0からは「scope」と変更になったようです。
CakePHP 2.0 系でもDebugKitは使用できます。
導入手順も変わりませんが、よく忘れるのでメモ。
1.ダウンロード(2.0系用のDebugKitをダウンロードする必要あり)
2.app/Pluginに格納
3.app/Controller/AppController.phpに下記を追加
public $components = array(‘DebugKit.Toolbar’);
4.viewでsql_dumpを使っている場合は記述を削除(※default.ctpでデフォルト使用されてます)
paginateの第3引数のwhitelistについて。
1.3までは「urlパラメータで指定されるpaginateオプションのうち、どれを有効にするか」を指定するものでしたが、
2.0では「並び替え(sort)で指定できるカラム名」となった模様です。
たとえばarray(‘id’)と指定すれば、urlに「/sort:name」と指定しても、nameでソートされないようになります。
1.3まではurlパラメータでlimitを使用してpaginateの件数が変更されないように、whitelistに許可とするパラメータ
(order、page)のみ指定していたのですが、2.0からはこのような制御はどのようにすべきなんでしょうか?
maxLimitというオプションが追加されたので、urlから膨大な数のlimitを指定されるというリスクは無くなったわけですが・・・。
追記:
PaginatorComponentのソースを見てみました。
whitelistですが2種類ありまして、下記の使い分けがされてました。
1.PaginatorComponentのパブリック変数のwhitelist
→urlパラメータで許可されるnamedパラメータ、原則変更できない(libのソース修正となる?)
‘limit’, ‘sort’, ‘page’, ‘direction’の4つが許可されている。
2.Paginator->paginateの第3引数のwhitelist
→sortの際に許可されるカラム