繁体   English   中英

访客访客用户的Yii访问控制

[英]Yii access control for a visitor guest user

我在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";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM