Yii2 yii2mod/yii2-rbac

Posted

技术标签:

【中文标题】Yii2 yii2mod/yii2-rbac【英文标题】: 【发布时间】:2018-12-28 19:56:54 【问题描述】:

我试图了解它是如何工作的 - 没办法 我只能看到以 /rbac/ .. 开头的路线,还有一些以 /gridview/ ... 和 /dynagrid/ ... 开头的路线 但没有与我的控制器操作相关的路线 我认为 yii2mod/yii2-rbac 在 Yii1 中像 RBAC 一样工作,我在控制器中定义并签入了权限。

当 - 像以前一样 - 我插入这样的东西:

INSERT INTO `auth_item` (`name`, `type`, `description`, `rule_name`, `data`) VALUES ('createCompany', 0, 'createCompany', NULL, 'N;');

并将其分配给用户 Admin,它在 Admin 的权限视图中显示为权限而不是路由 (rbac/permission/view/Admin)

自述文件对我没有帮助 - 那么我该如何使用 yii2mod/yii2-rbac 呢?

【问题讨论】:

你是不是想了解yii2的rbac机制?还想知道单独的包yii2mod/yii2-rbac吗? 视情况而定 - 会选择我能理解的那个 【参考方案1】:

yii2mod/yii2-rbac 包它提供的是一个网络界面,但它不是 Yii2 中 RBAC 的原生实现的替代方案:

Yii2-RBAC 为高级访问控制和 包括以下功能:

允许对角色、权限、规则进行 CRUD 操作 允许为用户分配多个角色或权限 允许创建控制台迁移 与yii2mod/base 集成

这个包的基础是 RBAC Yii2,它可以查看其部分实现here(仅作为示例)。

auth_item 表创建一个原始的INSERT 对于理解RBAC 的工作原理没有多大意义。 auth_item 表保存按类型分隔的权限和/或角色的记录:1=Role, 2=permission。

在您的项目中安装和配置yii2mod/yii2-rbac,您可以输入不同的选项来创建角色、权限、路由并将它们分配给您的用户,因为他们可以:

http://localhost/path/to/index.php?r=rbac/
http://localhost/path/to/index.php?r=rbac/route
http://localhost/path/to/index.php?r=rbac/permission
http://localhost/path/to/index.php?r=rbac/role
http://localhost/path/to/index.php?r=rbac/assignment

或者如果您启用了漂亮的网址,您可以使用以下网址:

http://localhost/path/to/index.php/rbac
http://localhost/path/to/index.php/rbac/route
http://localhost/path/to/index.php/rbac/permission
http://localhost/path/to/index.php/rbac/role
http://localhost/path/to/index.php/rbac/assignment

如果您想更好地了解 YB2 RBAC 的工作原理,您可以从 here 查看它。

【讨论】:

以上是关于Yii2 yii2mod/yii2-rbac的主要内容,如果未能解决你的问题,请参考以下文章

Yii2 教程 - yii2-redis 扩展详解

Yii2.0 安装yii2-queue并在Linux启动守护进程监听消息

如何使用 Yii2 的 PayPal 扩展在 yii2 中集成支付网关

Yii2 restful接口方式开发,权限控制(yii2-rest-rbac)

Yii2 yii2-imagine的使用

windows下yii2安装 AdminLTE和 yii2-admin