1

Yii で RBAC を実装しようとしています (rights モジュールを使用)。

認証されていないユーザー (ゲスト) を承認しようとすると、次のようにCWebUser呼び出しますCDbAuthManager

$access=Yii::app()->getAuthManager()->checkAccess($operation,$this->getId(),$params);

CDbAuthManager次に、ユーザーの認証割り当てを取得しようとします

$assignments=$this->getAuthAssignments($userId);

問題は、ユーザーがゲストで$userIdありnull、 であり$assignments、 が空の配列であるためです。したがって、ゲストユーザーにアクションを許可することはできません(allowedActions()を宣言しない限り)

私は何を間違っていますか?

4

1 に答える 1

1

構成の defaultRoles に Guest が追加されていることを確認してください。また、Guest ロールに次の式を持つ bizRule があることを確認してください。

Yii::app()->user->isGuest を返す

于 2012-10-30T13:51:12.633 に答える