如何在thinkPHP5框架中使用认证权限控制类

  介绍

本篇文章给大家分享的是有关如何在thinkPHP5框架中使用认证权限控制类,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

& lt; php ?//,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//,|,ThinkPHP  [, WE 还要DO  IT  JUST  THINK  IT 】//,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//时间|大敌;;Copyright  (c), 2011年,http://thinkphp.cn  All  rights 保留。//,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//时间|大敌;;Licensed  (, http://www.apache.org/licenses/license - 2.0)//,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//时间|大敌;;作者:,luofei614  & lt;weibo.com/luofei614>//,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   namespace 认证;/* *   ,*权限认证类   ,*功能特性:   ,* 1,是对规则进行认证,不是对节点进行认证。用户可以把节点当作规则名称实现对节点进行认证。   ,*,,美元auth=new 身份验证();,身份验证→美元支票(& # 39;规则名称& # 39;,& # 39;用户id # 39;)   ,* 2,可以同时对多条规则进行认证,并设置多条规则的关系(或或者和)   ,*,,美元auth=new 身份验证();,身份验证→美元支票(& # 39;规则1日规则2 & # 39;,& # 39;用户id # 39;, & # 39;和# 39;)   ,*,,第三个参数为和时表示,用户需要同时具有规则1和规则2的权限只当第三个参数为或时,表示用户值需要具备其中一个条件即可。默认为或   ,* 3,一个用户可以属于多个用户组(think_auth_group_access表,定义了用户所属用户组)。我们需要设置每个用户组拥有哪些规则(think_auth_group 定义了用户组权限)   ,*   ,* 4支持规则表达式。   ,*,,在think_auth_rule 表中定义一条规则时,如果类型为1,条件字段就可以定义规则表达式只如定义{得分}祝辞5,以及{得分}& lt; 100年,表示用户的分数在5 - 100之间时这条规则才会通过。   ,*///数据库/*   -,- - - - - - - - - - - - - - - - - - - - - - - - - - - - -   ——,think_auth_rule,规则表,   ——,id:主键名称:规则唯一标识(就是常见的路由列表,如:admin/索引/索引),,标题:规则中文名称,例如添加商品,status 状态:1为正,常为0禁用,条件:规则表达式,为空表示存在就验证,不为空表示按照条件验证   -,- - - - - - - - - - - - - - - - - - - - - - - - - - - - -   ,DROP  TABLE  IF  EXISTS “auth_rule”;   CREATE  TABLE “auth_rule”, (   “id”,才能mediumint (8), unsigned  NOT  NULL  AUTO_INCREMENT,   “名字”,才能char (80), NOT  NULL  DEFAULT  & # 39; & # 39;   “标题”,才能char (20), NOT  NULL  DEFAULT  & # 39; & # 39;   “类型”,才能非常小的整数(1),NOT  NULL  DEFAULT  & # 39; 1 & # 39;   “状态”,才能非常小的整数(1),NOT  NULL  DEFAULT  & # 39; 1 & # 39;   “条件”才能,char (100), NOT  NULL  DEFAULT  & # 39; & # 39;,, #,规则附件条件,满足附加条件的规则,才认为是有效的规则   PRIMARY 才能;KEY  (id),   UNIQUE 才能;KEY “名字”,(“名字”)   ),引擎=MyISAM  DEFAULT  CHARSET=use utf8;   -,- - - - - - - - - - - - - - - - - - - - - - - - - - - - -   ——,auth_group 用户组表,   ——,id:主键,标题:用户组中文名称,,规则:用户组拥有的规则id,,多个规则“,“隔开,status 状态:1为正,常为0禁用   -,- - - - - - - - - - - - - - - - - - - - - - - - - - - - -   ,DROP  TABLE  IF  EXISTS “auth_group”;   CREATE  TABLE “auth_group”, (   “id”,才能mediumint (8), unsigned  NOT  NULL  AUTO_INCREMENT,   “标题”,才能char (100), NOT  NULL  DEFAULT  & # 39; & # 39;   “状态”,才能非常小的整数(1),NOT  NULL  DEFAULT  & # 39; 1 & # 39;   “规则”,才能char (80), NOT  NULL  DEFAULT  & # 39; & # 39;   PRIMARY 才能;KEY  (id)   ),引擎=MyISAM  DEFAULT  CHARSET=use utf8;   -,- - - - - - - - - - - - - - - - - - - - - - - - - - - - -   ——,group_access 用户组明细表   ——,uid:用户id, group_id:用户组id   -,- - - - - - - - - - - - - - - - - - - - - - - - - - - - -   DROP  TABLE  IF  EXISTS “group_access”;   CREATE  TABLE “group_access”, (   “uid”,才能mediumint (8), unsigned  NOT 空,   “group_id”,才能mediumint (8), unsigned  NOT 空,   UNIQUE 才能;KEY “uid_group_id”, (“uid”,“group_id”),   KEY 才能“uid”, (“uid”),   KEY 才能“group_id”, (“group_id”)   ),引擎=MyISAM  DEFAULT  CHARSET=use utf8;   ,*/class  Auth {//才能默认配置   protected 才能;_config 美元;=,阵列(   ,,,& # 39;auth_on& # 39;,,,,,,=祝辞,真的,,,,,,,,,,,,//,认证开关   ,,,& # 39;auth_type # 39;,,,,,=祝辞,1,,,,,,,,,,,,,,//,认证方式,1为实时认证,2为登录认证。   ,,,& # 39;auth_group& # 39;,,,,=祝辞,& # 39;auth_group& # 39;,,,,,//,用户组数据表名   ,,,& # 39;auth_group_access& # 39;,=祝辞,& # 39;group_access& # 39;,,//,用户——用户组关系表   ,,,& # 39;auth_rule& # 39;,,,,,=祝辞,& # 39;auth_rule& # 39;,,,,,,//,权限规则表   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在thinkPHP5框架中使用认证权限控制类