Thinkphp5中auth权限设置以及实现的方法-创新互联
这篇文章主要介绍Thinkphp5中auth权限设置以及实现的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联是一家集网站建设,萨嘎企业网站建设,萨嘎品牌网站建设,网站定制,萨嘎网站建设报价,网络营销,网络优化,萨嘎网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。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(排序),如下图
4,首先 自己创建管理员表,比如叫admin表,增删改查 自己去正常设计,group字段为所属用户组
5.auth_group用户组的 增删改查 也自己去制作一下,id,用户组名称,状态(开启,或者关闭),规则(所对应的是规则表的id)
6.auth_rule规则表 增删改查 也自己去制作一下,id,name(控制器/方法),title(规则名称 ) status状态(开启,或者关闭),
7. 在添加用户的时候 给用户选择 所属用户组, uid(对应的是用户id) group_id(对应的是用户所属用户组的id),这样就关联起来了
8.把会员登陆功能做好,登陆成功设置session('id'),将当前登陆会员ID存在session中
9.最关键的的一步,就是使用auth类进行验证,在common.php这个公共页面中 使用
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权限设置以及实现的方法-创新互联
标题URL:http://hbruida.cn/article/cegcdi.html