Yii2 rbac

rbac的用法

http://www.yiichina.com/tutorial/485

CREATE TABLE IF NOT EXISTS `auth_assignment` (
`item_name` varchar(64) NOT NULL,
`user_id` varchar(64) NOT NULL,
`created_at` int(11) DEFAULT NULL,
PRIMARY KEY (`item_name`,`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 转存表中的数据 `auth_assignment`
--

INSERT INTO `auth_assignment` (`item_name`, `user_id`, `created_at`) VALUES
(‘咨询‘, ‘6‘, 1433566566),
(‘导医‘, ‘5‘, 1433566505),
(‘竞价‘, ‘3‘, 1433565005),
(‘竞价‘, ‘4‘, 1433565733),
(‘管理员‘, ‘1‘, 1433573415),
(‘管理员‘, ‘2‘, 1433556404),
(‘管理员‘, ‘3‘, 1433565005);

-- --------------------------------------------------------

--
-- 表的结构 `auth_item`
--

CREATE TABLE IF NOT EXISTS `auth_item` (
`name` varchar(64) NOT NULL,
`type` int(11) NOT NULL,
`description` text,
`rule_name` varchar(64) DEFAULT NULL,
`data` text,
`created_at` int(11) DEFAULT NULL,
`updated_at` int(11) DEFAULT NULL,
PRIMARY KEY (`name`),
KEY `rule_name` (`rule_name`),
KEY `type` (`type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 转存表中的数据 `auth_item`
--

INSERT INTO `auth_item` (`name`, `type`, `description`, `rule_name`, `data`, `created_at`, `updated_at`) VALUES
(‘Channel‘, 2, ‘渠道管理‘, NULL, NULL, 1433552508, 1433552508),
(‘channel/cost‘, 2, ‘渠道消费管理‘, NULL, NULL, 1433552508, 1433552508),
(‘channel/costcreate‘, 2, ‘添加渠道消费‘, NULL, NULL, 1433552508, 1433552508),
(‘channel/costdel‘, 2, ‘删除渠道消费‘, NULL, NULL, 1433552508, 1433552508),
(‘channel/costedit‘, 2, ‘编辑渠道消费‘, NULL, NULL, 1433552508, 1433552508),
(‘channel/costlist‘, 2, ‘查看渠道消费‘, NULL, NULL, 1433552508, 1433552508),
(‘channel/create‘, 2, ‘添加渠道‘, NULL, NULL, 1433552508, 1433552508),
(‘channel/del‘, 2, ‘删除渠道‘, NULL, NULL, 1433552508, 1433552508),
(‘channel/edit‘, 2, ‘编辑渠道‘, NULL, NULL, 1433552508, 1433552508),
(‘channel/index‘, 2, ‘渠道管理‘, NULL, NULL, 1433552508, 1433552508),
(‘channel/list‘, 2, ‘查看渠道‘, NULL, NULL, 1433552508, 1433552508),
(‘department/create‘, 2, ‘添加科室‘, NULL, NULL, 1433552508, 1433552508),
(‘department/del‘, 2, ‘删除科室‘, NULL, NULL, 1433552508, 1433552508),
(‘department/edit‘, 2, ‘编辑科室‘, NULL, NULL, 1433552508, 1433552508),
(‘department/index‘, 2, ‘科室管理‘, NULL, NULL, 1433552508, 1433552508),
(‘department/list‘, 2, ‘查看科室‘, NULL, NULL, 1433552508, 1433552508),
(‘department/merge‘, 2, ‘合并科室‘, NULL, NULL, 1433552508, 1433552508),
(‘doctor/create‘, 2, ‘添加医生‘, NULL, NULL, 1433552509, 1433552509),
(‘doctor/del‘, 2, ‘删除医生‘, NULL, NULL, 1433552509, 1433552509),
(‘doctor/edit‘, 2, ‘编辑医生‘, NULL, NULL, 1433552509, 1433552509),
(‘doctor/index‘, 2, ‘医生管理‘, NULL, NULL, 1433552509, 1433552509),
(‘doctor/list‘, 2, ‘查看医生‘, NULL, NULL, 1433552509, 1433552509),
(‘Record‘, 2, ‘患者管理‘, NULL, NULL, 1433552508, 1433552508),
(‘record/allocate‘, 2, ‘分诊‘, NULL, NULL, 1433552508, 1433552508),
(‘record/appointment‘, 2, ‘预约管理‘, NULL, NULL, 1433552508, 1433552508),
(‘record/appointmentlist‘, 2, ‘查看预约‘, NULL, NULL, 1433552508, 1433552508),
(‘record/create‘, 2, ‘添加对话‘, NULL, NULL, 1433552508, 1433552508),
(‘record/del‘, 2, ‘删除对话‘, NULL, NULL, 1433552508, 1433552508),
(‘record/edit‘, 2, ‘编辑对话‘, NULL, NULL, 1433552508, 1433552508),
(‘record/index‘, 2, ‘对话管理‘, NULL, NULL, 1433552508, 1433552508),
(‘record/list‘, 2, ‘查看对话‘, NULL, NULL, 1433552508, 1433552508),
(‘Report‘, 2, ‘统计报表‘, NULL, NULL, 1433552509, 1433552509),
(‘report/channel‘, 2, ‘渠道报表‘, NULL, NULL, 1433552509, 1433552509),
(‘report/channelreport‘, 2, ‘查看渠道报表‘, NULL, NULL, 1433552509, 1433552509),
(‘report/user‘, 2, ‘用户报表‘, NULL, NULL, 1433552509, 1433552509),
(‘report/userreport‘, 2, ‘查看用户报表‘, NULL, NULL, 1433552509, 1433552509),
(‘User‘, 2, ‘权限管理‘, NULL, NULL, 1433572341, 1433572341),
(‘user/create‘, 2, ‘添加用户‘, NULL, NULL, 1433572341, 1433572341),
(‘user/del‘, 2, ‘删除用户‘, NULL, NULL, 1433572341, 1433572341),
(‘user/edit‘, 2, ‘编辑用户‘, NULL, NULL, 1433572341, 1433572341),
(‘user/index‘, 2, ‘用户管理‘, NULL, NULL, 1433572341, 1433572341),
(‘user/list‘, 2, ‘查看用户‘, NULL, NULL, 1433572341, 1433572341),
(‘user/role‘, 2, ‘角色管理‘, NULL, NULL, 1433572341, 1433572341),
(‘user/rolecreate‘, 2, ‘添加角色‘, NULL, NULL, 1433572342, 1433572342),
(‘user/roledel‘, 2, ‘删除角色‘, NULL, NULL, 1433572342, 1433572342),
(‘user/roleedit‘, 2, ‘编辑角色‘, NULL, NULL, 1433572342, 1433572342),
(‘user/rolelist‘, 2, ‘查看角色‘, NULL, NULL, 1433572342, 1433572342),
(‘咨询‘, 1, NULL, NULL, NULL, 1433566416, 1433566416),
(‘咨询主管‘, 1, NULL, NULL, NULL, 1433566448, 1433566448),
(‘导医‘, 1, NULL, NULL, NULL, 1433566477, 1433566477),
(‘竞价‘, 1, NULL, NULL, NULL, 1433552524, 1433552524),
(‘管理员‘, 1, NULL, NULL, NULL, 1433552560, 1433552560),
(‘网络总监‘, 1, NULL, NULL, NULL, 1433566686, 1433566686);

-- --------------------------------------------------------

--
-- 表的结构 `auth_item_child`
--

CREATE TABLE IF NOT EXISTS `auth_item_child` (
`parent` varchar(64) NOT NULL,
`child` varchar(64) NOT NULL,
PRIMARY KEY (`parent`,`child`),
KEY `child` (`child`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 转存表中的数据 `auth_item_child`
--

INSERT INTO `auth_item_child` (`parent`, `child`) VALUES
(‘管理员‘, ‘Channel‘),
(‘网络总监‘, ‘Channel‘),
(‘管理员‘, ‘channel/cost‘),
(‘网络总监‘, ‘channel/cost‘),
(‘管理员‘, ‘channel/costdel‘),
(‘管理员‘, ‘channel/costedit‘),
(‘管理员‘, ‘channel/costlist‘),
(‘网络总监‘, ‘channel/costlist‘),
(‘管理员‘, ‘channel/del‘),
(‘管理员‘, ‘channel/edit‘),
(‘管理员‘, ‘channel/index‘),
(‘网络总监‘, ‘channel/index‘),
(‘管理员‘, ‘channel/list‘),
(‘网络总监‘, ‘channel/list‘),
(‘咨询主管‘, ‘department/del‘),
(‘管理员‘, ‘department/del‘),
(‘咨询主管‘, ‘department/edit‘),
(‘管理员‘, ‘department/edit‘),
(‘咨询主管‘, ‘department/index‘),
(‘管理员‘, ‘department/index‘),
(‘网络总监‘, ‘department/index‘),
(‘咨询主管‘, ‘department/list‘),
(‘管理员‘, ‘department/list‘),
(‘网络总监‘, ‘department/list‘),
(‘咨询主管‘, ‘department/merge‘),
(‘管理员‘, ‘department/merge‘),
(‘咨询主管‘, ‘doctor/del‘),
(‘管理员‘, ‘doctor/del‘),
(‘咨询主管‘, ‘doctor/edit‘),
(‘管理员‘, ‘doctor/edit‘),
(‘咨询主管‘, ‘doctor/index‘),
(‘管理员‘, ‘doctor/index‘),
(‘网络总监‘, ‘doctor/index‘),
(‘咨询主管‘, ‘doctor/list‘),
(‘管理员‘, ‘doctor/list‘),
(‘网络总监‘, ‘doctor/list‘),
(‘咨询‘, ‘Record‘),
(‘咨询主管‘, ‘Record‘),
(‘导医‘, ‘Record‘),
(‘竞价‘, ‘Record‘),
(‘管理员‘, ‘Record‘),
(‘网络总监‘, ‘Record‘),
(‘咨询主管‘, ‘record/allocate‘),
(‘导医‘, ‘record/allocate‘),
(‘管理员‘, ‘record/allocate‘),
(‘咨询‘, ‘record/appointment‘),
(‘咨询主管‘, ‘record/appointment‘),
(‘导医‘, ‘record/appointment‘),
(‘管理员‘, ‘record/appointment‘),
(‘网络总监‘, ‘record/appointment‘),
(‘咨询‘, ‘record/appointmentlist‘),
(‘咨询主管‘, ‘record/appointmentlist‘),
(‘导医‘, ‘record/appointmentlist‘),
(‘管理员‘, ‘record/appointmentlist‘),
(‘网络总监‘, ‘record/appointmentlist‘),
(‘咨询主管‘, ‘record/del‘),
(‘管理员‘, ‘record/del‘),
(‘咨询‘, ‘record/edit‘),
(‘咨询主管‘, ‘record/edit‘),
(‘管理员‘, ‘record/edit‘),
(‘咨询‘, ‘record/index‘),
(‘咨询主管‘, ‘record/index‘),
(‘管理员‘, ‘record/index‘),
(‘网络总监‘, ‘record/index‘),
(‘咨询‘, ‘record/list‘),
(‘咨询主管‘, ‘record/list‘),
(‘管理员‘, ‘record/list‘),
(‘网络总监‘, ‘record/list‘),
(‘咨询‘, ‘Report‘),
(‘咨询主管‘, ‘Report‘),
(‘竞价‘, ‘Report‘),
(‘管理员‘, ‘Report‘),
(‘网络总监‘, ‘Report‘),
(‘管理员‘, ‘report/channel‘),
(‘网络总监‘, ‘report/channel‘),
(‘管理员‘, ‘report/channelreport‘),
(‘网络总监‘, ‘report/channelreport‘),
(‘咨询‘, ‘report/user‘),
(‘咨询主管‘, ‘report/user‘),
(‘竞价‘, ‘report/user‘),
(‘管理员‘, ‘report/user‘),
(‘网络总监‘, ‘report/user‘),
(‘咨询‘, ‘report/userreport‘),
(‘咨询主管‘, ‘report/userreport‘),
(‘竞价‘, ‘report/userreport‘),
(‘管理员‘, ‘report/userreport‘),
(‘网络总监‘, ‘report/userreport‘),
(‘管理员‘, ‘User‘),
(‘管理员‘, ‘user/del‘),
(‘管理员‘, ‘user/edit‘),
(‘管理员‘, ‘user/index‘),
(‘管理员‘, ‘user/list‘),
(‘管理员‘, ‘user/role‘),
(‘管理员‘, ‘user/roledel‘),
(‘管理员‘, ‘user/roleedit‘),
(‘管理员‘, ‘user/rolelist‘);

-- --------------------------------------------------------

--
-- 表的结构 `auth_rule`
--

CREATE TABLE IF NOT EXISTS `auth_rule` (
`name` varchar(64) NOT NULL,
`data` text,
`created_at` int(11) DEFAULT NULL,
`updated_at` int(11) DEFAULT NULL,
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 表的结构 `tbl_user`
--

CREATE TABLE IF NOT EXISTS `tbl_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`auth_key` varchar(50) NOT NULL,
`access_token` varchar(50) NOT NULL,
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
`enabled` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

--
-- 转存表中的数据 `tbl_user`
--

INSERT INTO `tbl_user` (`id`, `username`, `password`, `auth_key`, `access_token`, `created_at`, `updated_at`, `enabled`) VALUES
(1, ‘admin‘, ‘$2y$13$J0lXtYNHmwUs1X8kUE62dOte45Cmdm68qM9RvVQx/0scKsM4mFTAS‘, ‘uyd1EhlCtakkk4zP5ERN_PRjA7etK8CK‘, ‘‘, 1433556404, 1438870839, 1),
(2, ‘user1‘, ‘$2y$13$Wx77UBYyZMIMh1rjACmi/unNcpG8kF.s2.O2Pq/evSLo.No3IEQ4u‘, ‘ctpNT1G3ioE1OYcHentQqmnU4tuIiVt7‘, ‘‘, 1433556404, 1433568105, 1),
(4, ‘李某‘, ‘$2y$13$CPvWlvjxkPsEPh.Zl549v.f0n1vNtVGV1tw1qAfWipzX6ON7z8A.u‘, ‘_FnmPq_8ZFKFEmM07hM_zgkaX4_uTv_M‘, ‘‘, 1433565725, 1433565942, 1),
(5, ‘user2‘, ‘$2y$13$nCZUtNgU2dD5hP0eop6QkOo5oOCtsJvWmC9rWehzkvWZLS0SqgFUe‘, ‘WP9M-LeKpVIHFOvqCKCTJp0n1c9wjSiu‘, ‘‘, 1433566505, 1433573477, 1),
(6, ‘user3‘, ‘$2y$13$.2dakXf/MLj.HKqBna37OOK38IE/FXuQKB1zNq0ns3TaBLzQxtPFC‘, ‘HJtWAqBReSLhKOntnWb0Vgjc9KItf1IR‘, ‘‘, 1433566566, 1433566579, 1);

时间: 2024-11-10 07:39:04

Yii2 rbac的相关文章

yii2 Rbac实例 (做完以下这些 会有些小的报错,相信各位都能解决,大多数都是自己命名空间上的问题)。

首先我自己没有使用自带的user表 要想使用yii rbac组件 首先需要在我们的配置文件中开启 rbac组件 在common/config/main-local.php 中添加 下边的组建 'authManager' => [    'class' => 'yii\rbac\DbManager',    'itemTable' => 'auth_item',    'assignmentTable' => 'auth_assignment',    'itemChildTable

Yii2 RBAC权限

什么是rbac ? rbac是就是基于角色的访问控制. yii提供一套基础的底层接口,我们知道,rbac经历好几个阶段,从rbac0到rbac3,从基础的用户.角色.权限,到动态的rbac处理模式,再到现在的权限继承,解决复杂的多页面元素权限分配. 总而言之,rbac有三个特性. 1. 基础: 角色.权限.用户 三大体系. 2. 权限继承: 角色派生原则,一个角色可以派生多个低权限角色.例如:总经理 =>经理.副经理.营运等 3. 权限分配: 权限分配必须从基础权限到高级权限,如果想拥有高级权限

yii2 rbac权限控制之菜单menu详细教程

%E5%90%91%E9%87%8F%E8%87%AA%E5%9B%9E%E5%BD%92%E6%A8%A1%E5%9E%8BVS%E9%A3%8E%E9%99%A9%E4%BB%B7%E5%80%BC%E6%A8%A1%E5%9E%8BVAR%26VaR http://auto.315che.com/x5m/qa23893599-2.htm ????aXAoUXbKE?W??Ё???? http://auto.315che.com/rongwei550/qa23847097.htm ????P

下面介绍一个 yii2.0 的 Rbac 权限设置,闲话少说,直接上代码,

1.首先我们要在组件里面配置一下 Rbac ,如下所示(common/config/main-local.php或者main.php). 'authManager' => [ 'class' => 'yii\rbac\DbManager', 'itemTable' => 'auth_item', 'assignmentTable' => 'auth_assignment', 'itemChildTable' => 'auth_item_child', ], 当然,在配置里面也

yii2权限控制rbac之rule详细讲解(转)

在我们之前yii2搭建后台以及rbac详细教程中,不知道你曾经疑惑过没有一个问题,rule表是做什么的,为什么在整个过程中我们都没有涉及到这张表? 相信我不说,部分人也都会去尝试,或百度或google,到头来也会竹篮打水,这部分讲解的内容少之又少啊! 对于一般的权限系统而言,我们之前做的rbac一般情况下是足够的,即时没有rule,相信你也能实现我们用rule实现的功能. 我们就以官网的例子给出一个具体的操作教程,看看这个神秘的rule到底是做什么的! 看需求: 我们有管理员和普通用户,对于文章

yii2搭建完美后台并实现rbac权限控制案例教程

作者:白狼 出处:www.manks.top/article/yii2_frame_rbac_template 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 1.安装yii2 未安装的请参考yii2史上最简单式安装教程,没有之一 已安装的请继续看下一步操作 2.配置数据库 2.1 配置数据库 修改common/config/main-local.php 实际项目中本地的数据库往往跟线上数据库不一致, 我们这里配置到mai

yii2使用多个数据库的案例

作者:白狼 出处:http://www.manks.top/article/yii2_%E5%88%86%E5%BA%93%E5%88%86%E8%A1%A8_config本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 关于yii2配置操作多个数据库进行操作,文档上面也给出了具体的配置,一个实战性的例子,也是很简单的,我们这里以权限控制为单个管理库dbname2,业务库dbname 为例来看看如何配置多个数据库. No1.

Yii2系列教程五:简单的用户权限管理

上一篇文章讲了用户的注册,验证和登录,这一篇文章按照约定来说说Yii2之中的用户和权限控制. 你可以直接到Github下载源码,以便可以跟上进度,你也可以重头开始,一步一步按照这个教程来做. 鉴于本教材基于Yii2 Basic,所以对RBAC的详细讲解我后面再单独出文章来说说吧,这里主要是简单地说一说权限控制 上一篇文章所实现的功能还比较简单,可以发一条状态,但是不知道你注意到没有,如果是没有注册的用户也可以使用我们的应用(类似小微博)来发状态,这是不符合情理的.正确的做法是在用户没有注册,登录

Yii rbac原理和实践

Yii框架中集成分层的 RBAC,代码位于vendor\yiisoft\yii2\rbac中,rbac工作原理分为两部分,建立授权数据和进行权限检查. 如上,一个角色拥有某个权限,如果希望用户拥有这个权限,那么就将拥有该权限的角色赋予给用户,特别是当系统中用户数量非常大的时候,如果需要修改权限只需要修改角色就可以了. 角色和权限都可以按层次组织.特定情况下,一个角色可能由其他角色或权限构成, 而权限又由其他的权限构成. 一个角色可以包含一个权限,反之则不行. 特定的权限,可以用一个规则 rule