thinkphp中如何根据模块名分配权限-创新互联

这篇文章主要介绍thinkphp中如何根据模块名分配权限,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联公司专注于企业全网营销推广、网站重做改版、向阳网站定制设计、自适应品牌网站建设、HTML5成都商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为向阳等各大城市提供网站开发制作服务。

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

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

假如我有这些模块文件:

thinkphp中如何根据模块名分配权限

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

thinkphp中如何根据模块名分配权限

比如,我的登录用户的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:

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

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

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

以上是“thinkphp中如何根据模块名分配权限”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


当前文章:thinkphp中如何根据模块名分配权限-创新互联
文章链接:http://bzwzjz.com/article/ccsdoo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: H5网站制作 成都网站设计公司 攀枝花网站设计 网站建设费用 宜宾网站设计 成都企业网站建设公司 手机网站制作设计 成都商城网站建设 成都网站建设推广 成都网站建设 网站建设公司 手机网站建设 成都网站建设公司 重庆外贸网站建设 成都响应式网站建设 成都网站建设 重庆网站设计 成都网站建设 重庆网站建设 成都网站建设公司 成都网站建设 网站设计