Странное поведение фрэймворка или мои кривые ручки, но если для action заданы правила авторизации, то при запросе запрещенного для данного юзера url немедленно происходит logout. Как это побороть?
components
	'session' => array(
		'class' => 'CHttpSession',
		'timeout' => 3600 * 2,
	),
	'authManager' => array(
		'class' => 'application.components.PhpAuthManager',
		'defaultRoles' => array('guest'),
	),
	'user' => array(
		'class' => 'WebUser',
		'allowAutoLogin' => false,
		'authTimeout' => (3600 * 24),
		'loginUrl' => '/login',
	),
правила в контроллере
	/**
	 * @return array action filters
	 */
	public function filters()
	{
		return array(
			'accessControl', // perform access control for CRUD operations
			'postOnly + delete', // we only allow deletion via POST request
		);
	}
	/**
	 * 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',
				'actions'=>array( 'view' ),
				'roles'=>array(self::ROLE_ADMIN, self::ROLE_OWNER, self::ROLE_MANAGER),
				'users'=>array('@'),
			),
			array('allow',
				'actions'=>array( 'news' ),
				'roles'=>array(self::ROLE_ADMIN, self::ROLE_BUSINESS_OWNER),
				'users'=>array('@'),
			),
			array('allow',
				'actions'=>array( 'stats' ),
				'roles'=>array(self::ROLE_OWNER),
				'users'=>array('@'),
			),
			array('deny',  // deny all users
				'users'=>array('*'),
			),
		);
	}
родительский класс Controller с таким кодом
public function beforeControllerAction($controller, $action)
	{
		if(parent::beforeControllerAction($controller, $action))
		{
			if (Yii::app()->user->getId() == null) {
				Yii::app()->user->setReturnUrl(Yii::app()->getRequest()->requestUri);
				Yii::app()->getRequest()->redirect('/login');
			}
//			$controller->layout = 'main';
			return true;
		}
		else
			return false;
	}