百搜论坛欢迎您的加入!
adimg adimg
 
昨日:篇  今日:篇   总帖:篇   会员:
博主最大Lv63   
thinkphp中的模块权限分配     

使用的是ThinkPHP自带的Authority权限类!ThinkPHP版本是3.1.3的

我要实现的是根据模块名分配权限,当然,这个可以扩展到操作名。

假如我有这些模块文件:

1.jpg

那么 think_auth_rule表的内容差不多应该是这样的:

2.jpg

比如,我的登录用户的uid=7.

think_auth_group_access 表中有 uid=9 ,group=6;

think_auth_group 表中有 id=6,title="宇宙管理员",rules="4,5,8";

那么,我只要再模块文件CommAction.class.php中,添加:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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:

1

2

3

4

5

<?php

class activityAction extends CommAction{

//操作方法

}

?>

就这样,当我访问think_auth_rules中id是4,5,8模块的时候,就可以正常访问;

如果访问id是10,11,12,13的模块,就会跳转到失败,提示没有权限的页面了~

现在我用这个权限类遇到的问题是:think_auth_rule表中的内容需要我手动去添加,这块是属性开发的,如果能自动生成就好了。

推荐教程:《TP5

以上就是thinkphp中的模块权限分配的详细内容

 0  已被阅读了1145次  楼主 2020-06-23 09:42:37
回复列表

回复:thinkphp中的模块权限分配

联系站长 友链申请桂ICP备19000949号-1     桂ICP备19000949号-1
您的IP:3.145.151.141,2024-05-05 04:19:25,Processed in 0.01701 second(s).
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
Powered by HadSky 7.12.9
已有0次打赏
(0) 分享
分享
取消
免责声明
1、本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !
如果觉得本文还不错请点个赞或者打赏点轻币哦~
拒绝伸手党,拿走请回复,尊重楼主,尊重你我他~

侵权删除请致信 E-Mail:207882320@qq.com