本文代码截取于笔者刚做的一个微型CRM
一、准备工作
1.阅读auth类源码
只需要大概看看,不要求读懂,路径在/Thinkphp/Library/Auth.class.php
zhixu
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
(2)think_auth_group
(3)think_auth_group_access
(4)用户表
二、角色(用户组)增删改查
操作数据库think_auth_group标的增删改查,增加、修改时,利用html的check提交,用implode把数组转为逗号隔开的字符串存入数据库rules中
三、用户增删改查
主要操作think_user 用户表,同时也要操作think_auth_group_access 用户组明细表(关系表)
四、规则表操作
name写模块/控制器/方法,这个根据自己项目定,也可以用其他形式,包括加上参数也可以
五、重点来了,auth类的使用
代码如下图,超级管理员可以免验证,其他用户需要check,这里的name要和规则表的name字段对应