首页 / PHP / thinkphp中的模块权限分配
thinkphp中的模块权限分配
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了thinkphp中的模块权限分配,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1209字,纯文字阅读大概需要2分钟。
内容图文
![thinkphp中的模块权限分配](/upload/InfoBanner/zyjiaocheng/276/1f8825f6c2fc49dc932e06cc9999b4bc.jpg)
![thinkphp中的模块权限分配 - 文章图片](/upload/getfiles/0001/2021/4/22/20210422032759987.jpg)
使用的是ThinkPHP自带的Authority权限类!ThinkPHP版本是3.1.3的
我要实现的是根据模块名分配权限,当然,这个可以扩展到操作名。
假如我有这些模块文件:
那么 think_auth_rule表的内容差不多应该是这样的:
比如,我的登录用户的uid=7.
think_auth_group_access 表中有 uid=9 ,group=6;
think_auth_group 表中有 id=6,title="宇宙管理员",rules="4,5,8";
那么,我只要再模块文件CommAction.class.php中,添加:
class CommAction extends Action{ public function __construct(){ parent::__construct(); $this->assign('waitSecond',2); $this->checkRight(); } private function checkRight(){ import('ORG.Util.Authority'); $auth=new Authority(); $r = $auth->getAuth(MODULE_NAME,session('S_USER_ID')); if(!$r){ $this->error('没有权限!'); } } }
然后,再让其它的模块文件继承这个文件,比如,ActivityAction.class.php:
<?php class activityAction extends CommAction{ //操作方法 } ?>
就这样,当我访问think_auth_rules中id是4,5,8模块的时候,就可以正常访问;
如果访问id是10,11,12,13的模块,就会跳转到失败,提示没有权限的页面了~
现在我用这个权限类遇到的问题是:think_auth_rule表中的内容需要我手动去添加,这块是属性开发的,如果能自动生成就好了。
推荐教程:《TP5》
以上就是thinkphp中的模块权限分配的详细内容。
内容总结
以上是互联网集市为您收集整理的thinkphp中的模块权限分配全部内容,希望文章能够帮你解决thinkphp中的模块权限分配所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。