Thinkphp 3.2 下的auth权限认证
来源:互联网 发布:去学校卖软件 编辑:程序博客网 时间:2024/06/05 15:35
auth 认证相对于rbac来说,更加灵活方便,防止后面忘记来做做记录。
首先需要创建表 4张
1、auth_rule
它是所有需要认证的权限点集合,需要把认证的权限记录到数据库。
DROP TABLE IF EXISTS `hskj_auth_rule`;
CREATE TABLE `hskj_auth_rule` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL DEFAULT '',
`title` varchar(255) NOT NULL DEFAULT '',
`type` tinyint(1) NOT NULL DEFAULT '1',
`status` tinyint(1) NOT NULL DEFAULT '1',
`condition` char(100) NOT NULL DEFAULT '',
`add_time` datetime DEFAULT NULL,
`is_top` tinyint(1) DEFAULT NULL,
`pid` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM AUTO_INCREMENT=62 DEFAULT CHARSET=utf8;
2、auth_group 角色表 该角色所拥有的权限点,即在auth_rule中记录的权限点id
DROP TABLE IF EXISTS `hskj_auth_group`;
CREATE TABLE `hskj_auth_group` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`title` char(100) NOT NULL DEFAULT '',
`status` tinyint(1) NOT NULL DEFAULT '1',
`rules` varchar(10000) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
3、user 用户表(这个就不用贴出来了吧)
4、auth_group_access 用户和角色中间表 它记录该用户对应的角色 (可以有多个角色,此处我的用户只设置了一个角色)
DROP TABLE IF EXISTS `hskj_auth_group_access`;
CREATE TABLE `hskj_auth_group_access` (
`uid` mediumint(8) unsigned NOT NULL,
`group_id` mediumint(8) unsigned NOT NULL,
PRIMARY KEY (`uid`),
UNIQUE KEY `uid_group_id` (`uid`,`group_id`),
KEY `uid` (`uid`),
KEY `group_id` (`group_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
thinkphp config 配置
'AUTH_CONFIG'=>array('AUTH_ON' => true, //认证开关'AUTH_TYPE' => 1, // 认证方式,1为时时认证;2为登录认证。'AUTH_GROUP' => 'hskj_auth_group', //用户组表'AUTH_GROUP_ACCESS' => 'hskj_auth_group_access', //用户与用户组关系表'AUTH_RULE' => 'hskj_auth_rule', //权限表'AUTH_USER' => 'hskj_user'//用户表),
需要有个基类控制器里面加上判断权限点条件(我加入了模块判断,即Home/Index/index)
if(!$auth->check(MODULE_NAME.'/'.CONTROLLER_NAME.'/'.ACTION_NAME,session('uid'))){
$this->redirect('Index/main', array('cate_id' => 2),1,
'<script>alert("对不起,您没有权限使用该菜单");</script>');}
session('uid') 是登录之后记录的用户id
- Thinkphp 3.2 下的auth权限认证
- thinkphp的 Auth权限认证
- thinkphp Auth 权限认证
- ThinkPHP权限认证Auth实例详解
- (thinkPHP) 比RBAC更好的权限认证方式(Auth类认证)
- thinkphp auth认证表
- ThinkPHP之比RBAC更好用的权限管理 auth认证
- thinkphp中Auth权限类的使用
- onethink的auth权限认证解读
- rbac与auth权限认证的区别
- Thinkphp5 Auth权限认证
- Thinkphp5 Auth权限认证
- Auth权限控制的实例代码演示(thinkphp)
- php中比rbac更好的权限认证的方式auth认证类
- php中比rbac更好的权限认证的方式auth认证类
- php中比rbac更好的权限认证的方式auth认证类
- 比RBAC更好的权限认证方式(Auth类认证)
- 比RBAC更好的权限认证方式(Auth类认证)
- Mac安装office2016以及破解
- oracle listagg函数、lag函数、lead函数 实例
- 移动端总结和手机兼容问题
- 673. Number of Longest Increasing Subsequence 最长递增子序列的个数
- spring事务传播
- Thinkphp 3.2 下的auth权限认证
- Android的taskAffinity对四种launchMode的影响
- jquery操作button为禁用和隐藏
- Mac之安装软件 报错"app"已损坏,打不开。您应该将它移到废纸篓
- C语言实现数据结构之栈的详解
- Leetcode OJ 129 Sum Root to Leaf Numbers [Medium]
- 将逗号分隔的字符串转换为List以及List转逗号分隔的字符串
- Java GUI弹出对话框中的几种方式
- Linux中Nginx的下载安装与配置