Yii accessRules问题 - 对我不起作用

时间:2014-09-15 15:01:22

标签: php yii rbac

我为不同角色的不同用户创建了一些方法。我有2个类型的用户角色:user和admin。并尝试管理用户不应该访问的某些方法的访问权限。通过accessRules YiiFramework方法管理它。例如:

public function accessRules()
{
    return array(
        array('allow',
            'roles'=>array('user'),
        ),
        array('allow',  //  allow authenticated users with role 'admin' to access listed actions
            'actions'=>array('chain', 'chainSettings'),
            'roles'=>array('admin'),
        ),
        array('deny',
            'users'=>array('*'),
        ),
    );
}

任何有角色"用户"的用户可以访问行动'链'和' chainSettings'。 可能有人知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

array('allow',
    'roles'=>array('user'),
),

在这里,您需要定义哪些操作是'用户'允许访问。您没有定义,因此用户可以访问所有操作

就像你用' admin'做的那样。角色,但采取不同的行动,如下:

array('allow',
    'actions'=>array('someActionIWantUserToAccess', 'someOtherActionAlso')
    'roles'=>array('user'),
),