|  RSS订阅  |  加入收藏

ThinkPHP5下实现Auth鉴权访问。

在多用户的内容管理系统上,实现区分权限的管理模式是非常必要的。本文讲述利用Auth鉴权类实现在thinkPHP5版本中的用户鉴权工作。
摘要
...

其实这算是一篇水文,最近有点忙有点累,记得没两天更文的今天一看已经过去一周了,刚好新项目上需要使用Auth来控制权限操作,恰巧ThinkPHP最近官方把5.1更新的有点频繁,从5.1.6一口气接二连三的更新到了5.1.11,导致项目没有框架更新的快,汗,丢人。写这篇水文的缘由是升级框架后,莫名发现之前运行正常的Auth报了个奇怪的错误。



在复制粘贴之前做好的Auth类的时候发现了一个错误,如下图所示。

0.jpg

就去翻了下手册和更新记录,原来TP从安全角度对数组查询条件进行了修改。好吧,那只需改下Auth类中的查询条件即可。

11.jpg

整个类文件其实是源自TP3的,移植到T5下,被我修改过了一些内容,代码太长就不截图了,源码直接附在文末压缩包了,如有需要请自行下载。下面简单介绍下如何使用。

集成扩展类

老生常谈的内容了,在extend目录下建一个author目录,把文末压缩包的中类文件丢进去,如果你自定义的其它目录名称,请修改下类文件中的命名空间。

自定义调用函数

多数情况下鉴权会在控制器中方法上应用,但偶尔保不齐要应用在视图上,这样为了前后台都方便调用,在common.php中自定义一个调用函数,如下图。

2.jpg

自定义一个config项

在上图上可以看到其中config助手函数,这里是为了方便过滤超级管理员的,免得每次超级管理员操作还要是查询权限,浪费资源。直接将管理员ID放到自定义配置项中,return一个true回去,方便快捷。

3.jpg

调用鉴权函数

一般写在方法的顶部,由于我们采用的是自定义的函数形式,所以这里不用考虑实例化了。直接贴图。

4.jpg

好了这样就完成了在ThinkPHP5下的Auth鉴权操作。关于权限表怎么弄的?看类文件前面那超级一大串的注释。

附件:Auth.rar


打赏
  Auth    PHP    ThinkPHP    
转载请注明出处,未经许可禁止商用!
西枫里 熊掌号
代码改变世界 ———— 半路出家,全程修道
发表评论
*依据《网络安全法》规定,您需实名认证后才能评论!
@广州网站建设:热烈欢迎友商来访。
这文章不错啊,不水
@看,那只鸽子:没有对实现原理详细剖析,算是一个凑数的水文吧,手动斜眼笑~
文章还是很有质量的,怎么算水文呢
@雨落泪尽:努力不成月经博。 PS。周末闲谈二呢,我要聆听老师教诲~
才一周,急啥
@梁兴健:太忙了,这两天睡觉时间已经压缩到3、4小时了,所以这文里面的内容没写透,算是水文吧。
不不不,这怎么能叫水文吗,我的才是,哈哈哈
@米粒博客:春困秋乏,多注意休息~
这些天我也有点心累,所以没怎么上网
@笛声:这IP无敌了~
此文不水,鉴定完毕。
@里维斯社:最近太忙,没东西折腾就没东西可写,凑数而已。
@银色月航:哈哈,真的就是为了凑数的。
叼,叼,叼,水文都能到这个水平,厉害了
不水不水,一点都不水:)