我需要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 :(得分:0)
您不能使用访问规则来仅限制部分代码。
但是你可以在你的代码中使用roles来做到这一点。
if (Yii::app()->user->isAdmin) {
echo CHtml::submitButton();
}
答案 1 :(得分:0)
对于经过身份验证的用户:
if (!Yii::app()->user->isGuest) {
echo "Authenticated";
}
对于访客用户:
if (Yii::app()->user->isGuest) {
echo "Guest";
}