Yii контроль доступа для гостя гостя

Мне нужен контроль доступа в yii для двух пользователей.
1. аутентифицированный пользователь: весь доступ
2) Пользователь, вышедший из системы: если пользователь вышел из системы и просмотрев какую-либо контактную систему, он автоматически войдет в систему с гостевым пользователем.

Теперь то, что я хочу, чтобы у гостевого пользователя был ограниченный доступ. хотя пользователь вошел в систему и является аутентифицированным пользователем.

что я пробовал

public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions' => array('viewgoal','getdescription'),
'users' => array('*'),
),

array('deny',  // deny all guest user
'actions'=>array('Maingoal','delete','create'),
'users'=>array('guest'),
),
array('allow', // allow authenticated user to perform 'create' and 'update' actions
'users'=>array('@'),
),
);
}

это ограничивает доступ пользователя к странице. Но я хочу, чтобы пользователь мог видеть форму, чтобы создать, но ограничить, чтобы отправить. Мне нужно общее решение, так как у меня есть около 100 форм на многих страницах. Пожалуйста помоги

0

Решение

Вы не можете использовать правила доступа, чтобы ограничить только часть вашего кода.

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

if (Yii::app()->user->isAdmin) {
echo CHtml::submitButton();
}
0

Другие решения

Для аутентифицированных пользователей:

if (!Yii::app()->user->isGuest) {
echo "Authenticated";
}

Для гостей:

if (Yii::app()->user->isGuest) {
echo "Guest";
}
0