介绍
如何在thinkPHP3.2使用RBAC实现一个权限管理功能吗?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<强>一:表设计强>
在thinkPHP的RBAC的的Rbac.class。php文件中一共提供了4张表,还有一张用户表需要你自己去建
如下是我所建的和权限相关的sql
其中的wj_为表前缀,改成你项目中的表前缀
1:权限表:
CREATE TABLE IF NOT EXISTS “wj_access”, ( ,“role_id”短整型(6),UNSIGNED NOT NULL COMMENT & # 39;角色id # 39;, ,“node_id”短整型(6),UNSIGNED NOT NULL COMMENT & # 39;节点id # 39;, ,“水平”非常小的整数(1),NOT NULL COMMENT & # 39;深度& # 39;, ,“模块”VARCHAR (50), DEFAULT NULL COMMENT & # 39;模块& # 39;, ,KEY “groupId”, (“role_id”), ,KEY “nodeId”, (“node_id”) ),引擎=MYISAM DEFAULT CHARSET=utf8 评论=& # 39;权限表& # 39;;
2:节点表:
CREATE TABLE IF NOT EXISTS “wj_node”, ( ,“id”短整型(6),UNSIGNED NOT NULL AUTO_INCREMENT COMMENT & # 39;节点id # 39;, ,“名字”VARCHAR (20), NOT NULL COMMENT & # 39;节点名称& # 39;, ,“标题”VARCHAR (50), DEFAULT NULL COMMENT & # 39;节点标题& # 39;, ,“地位”非常小的整数(1),DEFAULT & # 39; 0 & # 39;, COMMENT & # 39;状态,0禁用,1启用& # 39;, ,“备注”VARCHAR (255), DEFAULT NULL COMMENT & # 39;描述& # 39;, ,“排序”短整型(6),UNSIGNED DEFAULT NULL COMMENT & # 39;排序& # 39;, ,“pid”短整型(6),UNSIGNED NOT NULL COMMENT & # 39;父级节点& # 39;, ,“水平”非常小的整数(1),UNSIGNED NOT NULL COMMENT & # 39;深度& # 39;, ,PRIMARY KEY (id), ,KEY “水平”,(“水平”), ,KEY “pid”, (“pid”), ,KEY “地位”,(“状态”), ,KEY “名字”,(“名字”) ),引擎=MYISAM DEFAULT CHARSET=utf8 评论=& # 39;节点表& # 39;;
3:用户角色表:
CREATE TABLE IF NOT EXISTS “wj_role”, ( ,“id”短整型(6),UNSIGNED NOT NULL AUTO_INCREMENT COMMENT & # 39;角色id # 39;, ,“名字”VARCHAR (20), NOT NULL COMMENT & # 39;角色名称& # 39;, ,“pid”短整型(6),DEFAULT NULL & # 39;父级id # 39;, ,“地位”非常小的整数(1),UNSIGNED DEFAULT NULL COMMENT & # 39;状态,0禁用,1启用& # 39;, ,“备注”VARCHAR (255), DEFAULT NULL COMMENT & # 39;备注& # 39;, ,PRIMARY KEY (id), ,KEY “pid”, (“pid”), ,KEY “地位”,(状态) ),引擎=MYISAM DEFAULT CHARSET=utf8 评论=& # 39;用户角色表& # 39;;
4:用户角色关联表:
CREATE TABLE IF NOT EXISTS “wj_role_user”, ( ,‘role_id MEDIUMINT (9), UNSIGNED DEFAULT NULL COMMENT & # 39;角色id # 39;, user_id的大敌;CHAR (32), DEFAULT NULL COMMENT & # 39;用户id # 39;, ,KEY “group_id”, (“role_id”), ,KEY “user_id”, (“user_id”) ),引擎=MYISAM DEFAULT CHARSET=utf8 评论=& # 39;用户角色关联表& # 39;;
5:用户表:
CREATE TABLE IF NOT EXISTS “wj_user”, ( ,‘user_id INT (11), UNSIGNED NOT NULL AUTO_INCREMENT COMMENT & # 39;用户id # 39;, ,“用户名”VARCHAR (50), NOT NULL COMMENT & # 39;用户名& # 39;, ,“密码”VARCHAR (100), NOT NULL COMMENT & # 39;密码& # 39;, ,‘create_time INT (10), DEFAULT NULL COMMENT & # 39;创建时间& # 39;, ,‘update_time INT (10), DEFAULT NULL COMMENT & # 39;更新时间& # 39;, ,“地位”INT (1), DEFAULT NULL COMMENT & # 39;状态,0禁用,1启用& # 39;, ,PRIMARY KEY (“user_id”) ),引擎=MYISAM DEFAULT CHARSET=utf8 评论=& # 39;用户表& # 39;;
<强>二:关于权限操作的常用配置:强>
你可以在配置。php文件的数组中增加: