博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
thinkphp权限管理,auth类的使用
阅读量:6622 次
发布时间:2019-06-25

本文共 1023 字,大约阅读时间需要 3 分钟。

本文代码截取于笔者刚做的一个微型CRM

一、准备工作

1.阅读auth类源码

只需要大概看看,不要求读懂,路径在/Thinkphp/Library/Auth.class.php

clipboard.png

zhixuclipboard.png

2.数据库准备
把Auth.class.php文件里的代码复制下来创建数据库即可,四个主要数据库,think_auth_rule规则表,think_auth_group 用户组表,think_auth_group_access 用户组明细表(关系表),think_user 用户表,其中用户表为自己创建,这四个表的字段可根据实际项目内容进行相应增加,四个表的截图
3.配置

'AUTH_CONFIG'=>array(          'AUTH_ON' => true, //认证开关          'AUTH_TYPE' => 1, // 认证方式,1为时时认证;2为登录认证。          'AUTH_GROUP' => 'think_auth_group', //用户组数据表名          'AUTH_GROUP_ACCESS' => 'think_auth_group_access', //用户组明细表          'AUTH_RULE' => 'think_auth_rule', //权限规则表          'AUTH_USER' => 'think_admin'//用户信息表      )

(1)think_auth_rule

clipboard.png

(2)think_auth_group

clipboard.png

(3)think_auth_group_access

clipboard.png

(4)用户表

clipboard.png

二、角色(用户组)增删改查

操作数据库think_auth_group标的增删改查,增加、修改时,利用html的check提交,用implode把数组转为逗号隔开的字符串存入数据库rules中

clipboard.png

clipboard.png

三、用户增删改查

主要操作think_user 用户表,同时也要操作think_auth_group_access 用户组明细表(关系表)

四、规则表操作

name写模块/控制器/方法,这个根据自己项目定,也可以用其他形式,包括加上参数也可以

clipboard.png

五、重点来了,auth类的使用

代码如下图,超级管理员可以免验证,其他用户需要check,这里的name要和规则表的name字段对应

clipboard.png

这里是代码片段,如有什么问题可以和我沟通QQ:755092893

微信公众号(给个关注吧,老表):

图片描述

转载地址:http://tljpo.baihongyu.com/

你可能感兴趣的文章
MySQL数据故障时备份与恢复
查看>>
Nlopt优化函数库,用法举例
查看>>
海思 core 电压动态调整
查看>>
jFinal 关联数据库操作
查看>>
团队冲刺第二天
查看>>
sed删除空行和开头的空格和tab键
查看>>
php扩展安装
查看>>
Windows与Linux之间的文件自动同步
查看>>
What a C programmer should know about memory
查看>>
MySQL备份账号权限
查看>>
15个重要的Android代码
查看>>
(转)android 牛人必修 ant 编译android工程
查看>>
求最大公约数与最小公倍数
查看>>
C# Winform 跨线程更新UI控件常用方法总结(转)
查看>>
eclipse菜单栏不显示 + the system is running in lou-graphics mode问题
查看>>
【WebService】使用jaxb完成对象和xml的转换
查看>>
如何去除My97 DatePicker控件上右键弹出官网的链接 - 如何debug混淆过的代码
查看>>
多文档
查看>>
输入5个学生的信息(包括学号,姓名,英语成绩,计算机语言成绩和数据库成绩), 统计各学生的总分,然后将学生信息和统计结果存入test.txt文件中...
查看>>
Linux 小知识翻译 - 「协议(protocol)」
查看>>