ユーザに対するクレデンシャルの付与
myUser.class.phpを改造して、ログイン時にクレデンシャルを追加してみます。今、作成しているアプリケーションでは、ユーザ管理にはsfGuardPluginを使っているので、myUser.class.phpの中味は次のようになっています。
<?php class myUser extends sfGuardSecurityUser { }
ログイン時にクレデンシャルを追加するには、次のようにsfGuardSecurityUser::signInをオーバライドします。ちょっと変更すれば、独自のグループやロール、パーミッションの管理を実装できそうです。
<?php class myUser extends sfGuardSecurityUser { public function signIn($user, $remember = false, $con = null) { parent::signIn($user, $remember, $con); $this->addCredentials( array('追加のクレデンシャル1', '追加のクレデンシャル2')); } }