【问题标题】:How to handle permissions per role如何处理每个角色的权限
【发布时间】:2016-12-23 03:45:39
【问题描述】:

我在一个有 4 或 5 个角色的 Yii 项目中工作。每个角色都可以访问类似的表单和视图,但看不到所有字段。还有一些报告仅适用于管理级别的角色。

过去我基于每个字段控制来管理权限以避免重复代码,但这会变成一场噩梦。

我的问题是,您用来处理权限的最佳方法是什么?每个字段还是每个视图?

我正在考虑创建不同的视图,管理员可以选择分配给每个角色的视图。

你能带来的任何想法都会对我有所帮助。

【问题讨论】:

    标签: permissions yii2 user-permissions


    【解决方案1】:

    使用RBAC模块http://www.yiiframework.com/doc-2.0/guide-security-authorization.html

    一旦你定义了你的角色和权限,你就可以使用 Yii2 提供的功能来显示/隐藏你需要的字段或引导代码行为

    【讨论】:

    • 感谢您的回答。我使用过 RBAC,但我想知道您对哪种方法在每个领域或每个视图方面更好的看法?
    • 我认为每个字段是 RBAC 的更高级用法
    • 我两者都用 .. 并且通过良好的实践很容易在每种情况下找到一个快速的解决方案 .. 对于领域,经常有参数喜欢 active 与 Yii::$app->User- 等功能相关>can('your_rule') 并且还可以通过一些检查轻松地调节行为
    • @scaisEdge 你的意思是在同一个项目中你根据情况使用两种方法?看起来很有趣
    • 我使用务实的方法 .. 基于一些规则 .. 本质上,我评估复杂性,对于简单的情况很容易使用现场方法 .. 在中等复杂性中,我使用视图条件和渲染。在复杂的情况下,我同时使用内部..模型...控制器..视图和小部件..希望这很有用..并且都与面向对象..扩展混合..
    猜你喜欢
    • 2019-01-03
    • 2020-09-01
    • 2018-02-19
    • 1970-01-01
    • 2013-06-28
    • 2014-11-10
    • 2021-04-05
    • 1970-01-01
    • 2021-03-02
    相关资源
    最近更新 更多