Роли

Как вытащить роль пользователя? Что-нибудь типа Yii::app()->user->role.

Используется CDbAuthManager. Всем гостям присваивается с помощью bizrule guest, авторизованным пользователям - user, admin прописан вручную в таблицу authassignment.

Еще есть такое подозрение, что в конструкции, разрешающей доступ к экшенам, если залогиниться под админом доступ не предоставляется, как будто он обычный пользователь




array('allow',

    'actions'=>array(),

    'users'=>array('admin'),

),



Проверка ролей юзеров в контроллерах оформляется так в фильтре accessRules():





		return array(

			array('allow',  // allow all users to perform 'index' and 'view' actions

				'actions'=>array('index','view'),

				'roles' => array('administrator'),

			),



а в коде, приведенном, ты всего лишь проверяешь username пользователя.

По CDbAuthManager не силен, но в CPhpAuthManager проверить роль можно так, по сути должно быть одно и то же:




if (!Yii::app()->user->checkAccess('administrator')) throw new CHttpException(403, 'no hackers allowed');



Спасибо, вроде разобрался.