我需要在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个表格。请帮助
您不能使用访问规则仅限制部分代码。
但是您可以使用代码中的角色来实现这一点。
if (Yii::app()->user->isAdmin) {
echo CHtml::submitButton();
}
对于经过身份验证的用户:
if (!Yii::app()->user->isGuest) {
echo "Authenticated";
}
对于访客用户:
if (Yii::app()->user->isGuest) {
echo "Guest";
}