怎么在thinkPHP5中使用Rabc实现权限管理

  介绍

这篇文章给大家介绍怎么在thinkPHP5中使用Rabc实现权限管理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>一:gmars/tp5-rbac安装

<代码>作曲家需要gmars/tp5-rbac

<强>二:gmars/tp5-rbac使用

1: Rbac数据库创建

在<代码> gmars/tp5-rbac> role_permission>

当我们使用作曲家将<代码> gmars/tp5-rbac> vendorgmarstp5-rbac 目录下有一个<代码> gmars_rbac。sql代码文件,此文件内就为我们所需要创建表的sql

下面sql中# # #为你的表前缀,下面只是展示我们呢所需要的表的sql,创建表<代码> gmars/tp5-rbac> //实例化rbac   $ rbac =, new  Rbac ();//初始化rbac所需的表,可传入参数$ db为数据库配置项默认为空则为默认数据库(考虑到多库的情形)   rbac→美元不知道();

上面的方法会生成rbac所需要的表,一般只执行一次,为了安全,执行后会加锁,下次要执行需要删除锁文件再执行

(1):权限节点表(许可)

DROP  TABLE  IF  EXISTS “# # #许可”;   CREATE  TABLE “# # #许可”,(   ,“id”int (11), unsigned  NOT  NULL  AUTO_INCREMENT,   ,“名字”varchar (50), NOT  NULL  DEFAULT  & # 39; & # 39;, COMMENT  & # 39;权限节点名称& # 39;,   ,“类型”短整型(4),unsigned  NOT  NULL  DEFAULT  & # 39; 0 & # 39;, COMMENT  & # 39;权限类型1 api权限2前路由权限& # 39;,   category_id添加的大敌;int (11), unsigned  NOT  NULL  DEFAULT  & # 39; 0 & # 39;, COMMENT  & # 39;权限分组id,,   ,“路径”varchar (100), NOT  NULL  DEFAULT  & # 39; & # 39;, COMMENT  & # 39;权限路径& # 39;,   ,‘path_id varchar (100), NOT  NULL  DEFAULT  & # 39; & # 39;, COMMENT  & # 39;路径唯一编码& # 39;,   ,“描述”varchar (200), NOT  NULL  DEFAULT  & # 39; & # 39;, COMMENT  & # 39;描述信息& # 39;,   ,“地位”短整型(4),unsigned  NOT  NULL  DEFAULT  & # 39; 0 & # 39;, COMMENT  & # 39;状态0未启用1正常& # 39;,   ,‘create_time int (10), unsigned  NOT  NULL  DEFAULT  & # 39; 0 & # 39;, COMMENT  & # 39;创建时间& # 39;,   ,PRIMARY  KEY  (id),   ,KEY “idx_permission”, (“path_id”,“状态”)   ),引擎=InnoDB  DEFAULT  CHARSET=utf8mb4 评论=& # 39;权限节点表& # 39;;

(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,   ,“名字”varchar (50), COLLATE  utf8mb4_general_ci  NOT  NULL  DEFAULT  & # 39; & # 39;, COMMENT  & # 39;权限分组名称& # 39;,   ,“描述”varchar (200), COLLATE  utf8mb4_general_ci  NOT  NULL  DEFAULT  & # 39; & # 39;, COMMENT  & # 39;权限分组描述& # 39;,   ,“地位”短整型(4),unsigned  NOT  NULL  DEFAULT  & # 39; 1 & # 39;, COMMENT  & # 39;权限分组状态1有效2无效& # 39;,   ,‘create_time int (10), unsigned  NOT  NULL  DEFAULT  & # 39; 0 & # 39;, COMMENT  & # 39;权限分组创建时间& # 39;,   ,PRIMARY  KEY  (id)   ),引擎=InnoDB  DEFAULT  CHARSET=utf8mb4 整理=utf8mb4_general_ci  COMMENT  & # 39;权限分组表& # 39;;

(3):角色(角色表)

DROP  TABLE  IF  EXISTS “# # #的作用”;   CREATE  TABLE “# # #的角色”,(   ,“id”int (11), unsigned  NOT  NULL  AUTO_INCREMENT,   ,“名字”varchar (50), NOT  NULL  DEFAULT  & # 39; & # 39;, COMMENT  & # 39;角色名& # 39;,   ,“描述”varchar (200), NOT  NULL  DEFAULT  & # 39; & # 39;, COMMENT  & # 39;角色描述& # 39;,   ,“地位”短整型(4),unsigned  NOT  NULL  DEFAULT  & # 39; 0 & # 39;, COMMENT  & # 39;状态1正常0未启用& # 39;,   ,‘sort_num int (11), unsigned  NOT  NULL  DEFAULT  & # 39; 0 & # 39;, COMMENT  & # 39;排序值& # 39;,   ,PRIMARY  KEY  (id),   ,KEY “idx_role”,(状态)   ),引擎=InnoDB  DEFAULT  CHARSET=utf8mb4 评论=& # 39;角色表& # 39;;

怎么在thinkPHP5中使用Rabc实现权限管理