问题标签 [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.

0 投票
1 回答
144 浏览

php - Yii2登录后角色切换

一个用户有 3 个角色。

  1. 角色一
  2. 角色二
  3. 角色三

登录后,我想激活他的一个角色活动模式和其余角色非活动模式。Yii2有角色切换技巧吗?或者我们必须制定自己的逻辑。

这是我试图实现这一目标的方法......

现在在此之后如何从$roles变量中设置活动角色。在用户之间也可以激活其他角色。我在这里很困惑,实际上没有 yii2 功能,例如在登录后随时切换角色。

0 投票
1 回答
472 浏览

redis - Yii2 RBAC Redis - 怎么了?

我正在尝试在我的 Yii2 高级应用程序中使用RBAC (已安装sweelix/yii2-redis-rbacyiisoft/yii2-redis)。

  1. 常见/main.php:

    /li>
  2. 常见/主要本地.php:

    /li>
  3. 让我们尝试初始化(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

0 投票
1 回答
149 浏览

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

任何帮助或指示将不胜感激。谢谢你。

0 投票
1 回答
1300 浏览

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 的权限下,我收到错误,规则不存在。

我在这里缺少什么?

0 投票
0 回答
49 浏览

yii2 - Yii2 rbac 分配角色和权限

如何在以下场景中使用 Rbac。

例如 - 有三个位置,每个位置都有位置管理器。然后每个位置都有两个部门。销售与生产 销售部 - 销售经理,销售员 生产部 - 生产经理,生产员。现在假设员工向任一部门提出请假请求。

EmployeeRole - 可以创建和查看请求。

ManagerRole - 可以更新批准/拒绝等请求。

在上述情况下,经理可以查看销售和产品部门的所有请求。我如何限制经理仅从他/她的部门和位置查看/更新记录。

那就是位置管理员可以从他/她的位置而不是从其他位置查看或更新。

我能想到的一种方法可以通过获取员工部门、位置并根据来自哪个部门的请求过滤记录来实现。

我想知道是否以及如何使用 RBAC 来实现。

0 投票
0 回答
235 浏览

yii2 - 为什么 mdmsoft/yii2-admin 中的路由为空?

我在 yii2 基本模板中配置了 mdmsoft/yii2-admin但路由列表为空。为什么 ?

在此处输入图像描述

配置

0 投票
2 回答
30 浏览

yii2 - Yii mdmsoft 获取有权访问特定路由的用户 id

我正在使用 mdmsoft / yii2-admin 插件是否有任何方法可以获取有权访问/许可特定路由的用户 ID。我只需要显示那些可以在下拉列表中访问特定操作的用户。

在我这样做之前,但我想要这个基于 Helper::checkRoute() 方法的动态

0 投票
0 回答
45 浏览

php - Yii2 - 基于 RBAC 的 dataProvider 查询过滤器

使用基于 RBAC 角色的过滤器进行查询的最佳方法是什么。

目的:每个用户角色看到不同的结果。

最好创建一系列“如果”,或者是否有另一个好的组织?

auth_item

桌子contacts

我当前的代码:

0 投票
1 回答
83 浏览

php - mdmsoft/yii2-admin 路由不工作高级模板

我正在尝试 使用此拉取请求使用高级模板实现mdmsoft/yii2-admin , 但是当我尝试将路由添加到菜单时,出现错误“找不到路由“x”。” 如果我尝试通过数据库强制添加路由,菜单会显示一个空数组。

在此处输入图像描述


在此处输入图像描述

0 投票
1 回答
27 浏览

yii - Yii 2 RBAC 中的规则条件

我正在使用 Yii2 basic 和 RBAC。我有一个管理员创建各种中心的场景。然后管理员创建用户并将用户分配到这些中心。每个中心都有多个用户。现在这些用户创建不同的人员记录,每个用户都可以访问属于特定中心的用户创建的每个人的记录。

假设中心 A 有两个用户。用户 1 和用户 2 可以创建人员记录。现在用户 1 和用户 2 可以访问这些人的记录。其他中心用户无法访问属于中心 A 的用户 1 或用户 2 创建的这些人员记录。现在在 RBAC 中创建规则时,第一个返回语句有效或第二个返回语句有效

来自一个中心的用户可以访问他们的人员记录。但是其他中心的用户应该无法访问中心 A 的这些人的记录。

声明 1:

声明 2:

数据库结构

中心表

  1. 中心标识
  2. 中心名称

用户表

  1. 用户身份
  2. 姓名

人表

  1. 个人身份
  2. 中心标识
  3. 用户身份
  4. 人名

Center_Assignment

  1. 中心分配 ID
  2. 中心标识
  3. 用户身份

所以我的规则执行功能如下