私はこのチュートリアルに従ってきましたが、これはすばらしいことですが、1つ質問があります。
http://www.larryullman.com/2010/01/07/custom-authentication-using-the-yii-framework/
アプリケーションコードのどこからでも、次のようにロールプロパティにアクセスできます。
Yii::app()->user->role
しかし、私が本当にやりたいのは、UserControllerでデフォルトのコントローラー認証を使用することです。
/**
* Specifies the access control rules.
* This method is used by the 'accessControl' filter.
* @return array access control rules
*/
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('*'),
'users'=>array('@'),
// Fails
'roles'=>array(ModelConstantsRole::ADMIN),
// Also Fails
'expression'=>'(isset(Yii::app()->user->role) && (Yii::app()->user->role==ModelConstantsRole::ADMIN))',
),
array('deny', // deny all users
'users'=>array('*'),
),
);
}
accessRulesで定義されたルールを実際に検証するクラスは、私が割り当てた役割について実際には何も知らないようです。CAccessControlFilter(40分間XDで検索したくない方のために)。
Larryのアプローチと組み合わせたときにaccessRulesメソッドをどのように利用できるかについてのアイデアはありますか?
ありがとう!