没有合适的资源?快使用搜索试试~ 我知道了~
在之前我们已经了解了think3.2Rbac的权限管理操作,但是在thinkPHP5中thinkPHP没有内置Rabc操作,所以我们需要使用一个thinkPHP的Rbac拓展来实现权限管理,在thinkPHP中我们可以使用gmars/tp5-rbac拓展来实现权限管理 gmars/tp5-rbac地址: https://packagist.org/package… 一:gmars/tp5-rbac安装 composer require gmars/tp5-rbac 二:gmars/tp5-rbac使用 1:Rbac数据库创建 在gmars/tp5-rbac中我们需要使用到六张表,分别为:权限
资源推荐
资源详情
资源评论
thinkPHP5使用使用Rabc实现权限管理实现权限管理
在之前我们已经了解了think3.2Rbac的权限管理操作,但是在thinkPHP5中thinkPHP没有内置Rabc操作,所以我们需要使用
一个thinkPHP的Rbac拓展来实现权限管理,在thinkPHP中我们可以使用gmars/tp5-rbac拓展来实现权限管理
gmars/tp5-rbac地址: https://packagist.org/package…
一:一:gmars/tp5-rbac安装安装
composer require gmars/tp5-rbac
二:二:gmars/tp5-rbac使用使用
1:Rbac数据库创建
在gmars/tp5-rbac中我们需要使用到六张表,分别为:权限节点表(permission),permission_category(权限分组表),role(角色
表),role_permission(角色权限关联表),user(用户表),user_role(用户角色关联表)
当我们使用composer将gmars/tp5-rbac下载下来之后,我们可以发现在vendorgmarstp5-rbac目录下有一个gmars_rbac.sql文件,此文
件内就为我们所需要创建表的sql
下面sql中###为你的表前缀,下面只是展示我们呢所需要的表sql,创建表gmars/tp5-rbac提供了方法来帮我们自动创建我们所需
要的表
//实例化rbac
$rbac = new Rbac();
//初始化rbac所需的表,可传入参数$db为数据库配置项默认为空则为默认数据库(考虑到多库的情形)
$rbac->createTable();
上面的方法会生成rbac所需要的表,一般只执行一次,为了安全,执行后会加锁,下次要执行需要删除锁文件再执行
(1):权限节点表(permission)
DROP TABLE IF EXISTS `###permission`;
CREATE TABLE `###permission` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '权限节点名称',
`type` smallint(4) unsigned NOT NULL DEFAULT '0' COMMENT '权限类型1api权限2前路由权限',
`category_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '权限分组id',
`path` varchar(100) NOT NULL DEFAULT '' COMMENT '权限路径',
`path_id` varchar(100) NOT NULL DEFAULT '' COMMENT '路径唯一编码',
`description` varchar(200) NOT NULL DEFAULT '' COMMENT '描述信息',
`status` smallint(4) unsigned NOT NULL DEFAULT '0' COMMENT '状态0未启用1正常',
`create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_permission` (`path_id`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='权限节点表';
(2):permission_category(权限分组表
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `###permission_category`;
CREATE TABLE `###permission_category` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '权限分组名称',
`description` varchar(200) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '权限分组描述',
`status` smallint(4) unsigned NOT NULL DEFAULT '1' COMMENT '权限分组状态1有效2无效',
`create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '权限分组创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT '权限分组表';
(3):role(角色表)
DROP TABLE IF EXISTS `###role`;
CREATE TABLE `###role` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '角色名',
`description` varchar(200) NOT NULL DEFAULT '' COMMENT '角色描述',
`status` smallint(4) unsigned NOT NULL DEFAULT '0' COMMENT '状态1正常0未启用',
`sort_num` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '排序值',
PRIMARY KEY (`id`),
KEY `idx_role` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';
资源评论
weixin_38736018
- 粉丝: 8
- 资源: 855
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功