Thinkphp5中auth权限设置以及实现的方法

这篇文章主要介绍Thinkphp5中auth权限设置以及实现的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

10余年的郓城网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整郓城建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“郓城网站设计”,“郓城网站推广”以来,每个客户项目都认真落实执行。

1.将auth类下载好 放置目录: extend\auth\auth.php

2.将类中的SQL语句执行,可以在数据库中创建3张表 auth_group(用户组表)           auth_rule(权限规则表)           auth_group_access(用户与用户组关联表)

3.我想给规则 添加一个级别关系(类似于无限极分类)   auth_rule(权限规则表) 中添加3个字段  pid(父级id ,0为顶级权限)   level(级别)    sort(排序),如下图

Thinkphp5中auth权限设置以及实现的方法

4,首先 自己创建管理员表,比如叫admin表,增删改查 自己去正常设计,group字段为所属用户组

Thinkphp5中auth权限设置以及实现的方法

5.auth_group用户组的 增删改查 也自己去制作一下,id,用户组名称,状态(开启,或者关闭),规则(所对应的是规则表的id)

Thinkphp5中auth权限设置以及实现的方法

6.auth_rule规则表 增删改查 也自己去制作一下,id,name(控制器/方法),title(规则名称 )  status状态(开启,或者关闭),

Thinkphp5中auth权限设置以及实现的方法

7. 在添加用户的时候 给用户选择 所属用户组, uid(对应的是用户id)   group_id(对应的是用户所属用户组的id),这样就关联起来了

Thinkphp5中auth权限设置以及实现的方法

8.把会员登陆功能做好,登陆成功设置session('id'),将当前登陆会员ID存在session中

9.最关键的的一步,就是使用auth类进行验证,在common.php这个公共页面中 使用

<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
use auth\Auth; //引入suth类
class Common extends Controller
{
    public function _initialize(){
      //初始化判断用户是否已经登陆
      if(!session('uname')){
          $this->error('请先登陆系统!','login/index');
        }


        //获得当前页面的控制器 / 方法
       $request=Request::instance();
       $moudle=$request->module(); //获取当前控制器名称
       $con=$request->controller(); //获取当前控制器名称
       $action=$request->action();  //获取当前方法名称
       $this->assign(array(
               'con'=>$con,
               'action'=>$action,
       ));

       $rules=$con.'/'.$action;  //组合  控制器/方法
       $auth=new Auth(); //实例化auth类
       $notCheck=array('Index/index');  //都可以访问的页面
       if(session('uid')!=1){  //不是超级管理员才进行权限判断
          if(!in_array($rules,$notCheck)){  // 是否在开放权限里面
              if(!$auth->check($rules,session('uid'))){   // 第一个参数  控制/方法   第二个参数:当前登陆会员的id
                 $this->error('没有权限','index/index');
               };
           }
        }




       }

最终展示;

Thinkphp5中auth权限设置以及实现的方法

Thinkphp5中auth权限设置以及实现的方法

Thinkphp5中auth权限设置以及实现的方法

以上是“Thinkphp5中auth权限设置以及实现的方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!

当前名称:Thinkphp5中auth权限设置以及实现的方法
文章转载:https://www.cdcxhl.com/article14/ijdgge.html

成都网站建设公司_创新互联,为您提供移动网站建设外贸建站面包屑导航网站设计搜索引擎优化定制网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化