【问题标题】:How to prevent unauthorized users from specific actions by assigning a role to them?如何通过为他们分配角色来防止未经授权的用户执行特定操作?
【发布时间】:2013-12-26 20:23:57
【问题描述】:

我正在通过 Yii php 框架开发一个 Web 应用程序。在这个应用程序中,我使用 Right 模块对其进行角色管理。我定义了一些角色,并为他们分配了适当的操作和任务。我是通过 Right 模块 UI 完成的,最后当每个用户填写注册表时,都会为其分配一个适当的角色,所以对于登录用户来说,一切都很好。

问题在于访客和未经授权的用户。我将 main.php 配置文件中的默认角色仅设置为“Guest”,并使用 Right 模块 UI 设置了“Guest”角色的操作,但 Guest 用户可以执行其他不允许的操作! 如何为访客用户执行此操作?


提前致谢

【问题讨论】:

    标签: php yii rbac rights


    【解决方案1】:

    你可以这样做

    array('allow', 
                'actions'=>array('update'),
                'expression'=>Yii::app()->user->uType = 'mydefinedtype',
    ));
    

    这可以在useridentity.php中完成登录操作时设置

    $this->setState('utype', $user->UTtype->typename);
    

    【讨论】:

    • 谢谢,我知道了,但我想只用最少的代码的权限配置模块来处理它。与其他在权限模块中运行良好的角色相同,无需任何代码!
    【解决方案2】:

    我建议你使用自己的 UserIdentity 类...

    就是这么简单!

    【讨论】:

      猜你喜欢
      • 2016-07-23
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多