php用户鉴权,ThinkPHP5下实现Auth鉴权访问。

博主分享了在ThinkPHP5框架升级到5.1.11后,遇到Auth权限控制类出现错误的问题。由于框架的安全性更新,导致原有查询条件不适用。解决方案是修改Auth类中的查询条件,以适配新的框架要求。文章还介绍了如何集成扩展类、自定义调用函数以及配置项,以实现权限鉴权功能。
摘要由CSDN通过智能技术生成

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

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

318633d07154604c5d6914886c0c3903.png

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

2aba574ef7bd444e1b6ce3d2af051695.png

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

集成扩展类

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

自定义调用函数

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

4f0a6d7351a709eb65f78f7829ffb158.png

自定义一个config项

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

6a3f1c69f69d493f581d361791df2bac.png

调用鉴权函数

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

cf271da7435e0be8fbe7e704da89e534.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值