【问题标题】:Yii accessRules issue - not worked for meYii accessRules 问题 - 不适合我
【发布时间】:2014-09-15 15:01:21
【问题描述】:

我为不同角色的不同用户创建了一些方法。我有 2 类具有角色的用户:用户和管理员。并尝试管理对用户不应访问的某些方法的访问。通过 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('*'),
        ),
    );
}

任何具有“用户”角色的用户都可以访问操作“链”和“链设置”。 可能有人知道我做错了什么?

【问题讨论】:

    标签: php yii rbac


    【解决方案1】:
    array('allow',
        'roles'=>array('user'),
    ),
    

    您需要在此处定义允许“用户”访问的操作。您没有定义用户可以访问所有操作

    只需像使用“管理员”角色一样执行类似操作,但操作不同,如下所示:

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

    【讨论】:

    • 如果我有 20 个动作,我不想在 accessRules 中全部列出,因为我只需要从角色“用户”关闭其中的 2 个。我认为有一些更优雅的解决方案?
    • 好吧,这样就行了……我也想听听更优雅的解决方案,所以如果你找到了,请在这里发帖
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 2021-03-19
    • 2011-01-19
    相关资源
    最近更新 更多