问题标签 [yii2-rbac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Yii2登录后角色切换
一个用户有 3 个角色。
- 角色一
- 角色二
- 角色三
登录后,我想激活他的一个角色活动模式和其余角色非活动模式。Yii2有角色切换技巧吗?或者我们必须制定自己的逻辑。
这是我试图实现这一目标的方法......
现在在此之后如何从$roles
变量中设置活动角色。在用户之间也可以激活其他角色。我在这里很困惑,实际上没有 yii2 功能,例如在登录后随时切换角色。
redis - Yii2 RBAC Redis - 怎么了?
我正在尝试在我的 Yii2 高级应用程序中使用RBAC (已安装sweelix/yii2-redis-rbac和yiisoft/yii2-redis)。
常见/main.php:
/li>常见/主要本地.php:
/li>让我们尝试初始化(RbacController):
/li>
php yii rbac/init
返回:
对象转储:
返回:
sweelix\rbac\redisManager在第364行:如果 $item->ruleName 为空,我们有错误...
版本:
Redis server v=3.2.6
,
"yiisoft/yii2": "~2.0.14"
,
yiisoft/yii2-redis 2.0.8
,
PHP 7.0.33
php - yii2admin 覆盖在 null 上调用成员函数 getRoles():authManager 未从配置文件中读取
错误:在 null 上调用成员函数 getRoles()
来自:yii2-admin\models\searchs\AuthItem.php
在第 75 行:
这是因为 yii2-admin\components\configs.php:
在第 148 行:
它返回一个配置对象,其中“authManager”为空
根据: Yii2 RBAC DbManager error Call to a member function getRole() on null
和
https://www.yiiframework.com/doc/guide/2.0/en/security-authorization#configuring-rbac-manager
yii2-advanced-app 所需要的只是添加以下内容:
到组件数组下的 common\config\main.php
那已经存在并且似乎不会影响来自 rbac 的配置。此外,我尝试将 authManager 添加到控制台、前端和后端配置文件,但没有任何效果。
预期结果:'authManager' => 'DbManager or something'
实际结果:'authManager' => null
yii2 rbac 配置文件正确加载到 db 连接中,但 authManager 始终为空。
这是使用 yii2admin rbac 管理扩展时的问题,但在使用 yii2-advanced-app 作为高级应用程序使用\Yii::$app->authManager
而不是 yii2 rbac时不会Configs::authManager
任何帮助或指示将不胜感激。谢谢你。
php - Yii2 - RBAC 规则允许/查看自己的数据
我已经yii2mod/yii2-rbac
从这个 url 安装了 - https://github.com/yii2mod/yii2-rbac in yii2-basic。
除了使用/允许所有者数据外,一切正常。
从这个链接:https ://www.yiiframework.com/doc/guide/2.0/en/security-authorization
我在根目录rbac
和文件AuthorRule.php
和代码中创建了一个文件夹:
但是当我尝试在权限中添加规则时(AuthorRule
或者isAuthor
在我创建 updateOwnRecord 的权限下,我收到错误,规则不存在。
我在这里缺少什么?
yii2 - Yii2 rbac 分配角色和权限
如何在以下场景中使用 Rbac。
例如 - 有三个位置,每个位置都有位置管理器。然后每个位置都有两个部门。销售与生产 销售部 - 销售经理,销售员 生产部 - 生产经理,生产员。现在假设员工向任一部门提出请假请求。
EmployeeRole - 可以创建和查看请求。
ManagerRole - 可以更新批准/拒绝等请求。
在上述情况下,经理可以查看销售和产品部门的所有请求。我如何限制经理仅从他/她的部门和位置查看/更新记录。
那就是位置管理员可以从他/她的位置而不是从其他位置查看或更新。
我能想到的一种方法可以通过获取员工部门、位置并根据来自哪个部门的请求过滤记录来实现。
我想知道是否以及如何使用 RBAC 来实现。
yii2 - Yii mdmsoft 获取有权访问特定路由的用户 id
我正在使用 mdmsoft / yii2-admin 插件是否有任何方法可以获取有权访问/许可特定路由的用户 ID。我只需要显示那些可以在下拉列表中访问特定操作的用户。
在我这样做之前,但我想要这个基于 Helper::checkRoute() 方法的动态
php - Yii2 - 基于 RBAC 的 dataProvider 查询过滤器
使用基于 RBAC 角色的过滤器进行查询的最佳方法是什么。
目的:每个用户角色看到不同的结果。
最好创建一系列“如果”,或者是否有另一个好的组织?
表auth_item
:
桌子contacts
我当前的代码:
php - mdmsoft/yii2-admin 路由不工作高级模板
我正在尝试 使用此拉取请求使用高级模板实现mdmsoft/yii2-admin , 但是当我尝试将路由添加到菜单时,出现错误“找不到路由“x”。” 如果我尝试通过数据库强制添加路由,菜单会显示一个空数组。
yii - Yii 2 RBAC 中的规则条件
我正在使用 Yii2 basic 和 RBAC。我有一个管理员创建各种中心的场景。然后管理员创建用户并将用户分配到这些中心。每个中心都有多个用户。现在这些用户创建不同的人员记录,每个用户都可以访问属于特定中心的用户创建的每个人的记录。
假设中心 A 有两个用户。用户 1 和用户 2 可以创建人员记录。现在用户 1 和用户 2 可以访问这些人的记录。其他中心用户无法访问属于中心 A 的用户 1 或用户 2 创建的这些人员记录。现在在 RBAC 中创建规则时,第一个返回语句有效或第二个返回语句有效
来自一个中心的用户可以访问他们的人员记录。但是其他中心的用户应该无法访问中心 A 的这些人的记录。
声明 1:
声明 2:
数据库结构
中心表
- 中心标识
- 中心名称
用户表
- 用户身份
- 姓名
人表
- 个人身份
- 中心标识
- 用户身份
- 人名
Center_Assignment
- 中心分配 ID
- 中心标识
- 用户身份
所以我的规则执行功能如下