第一类:放在登陆控制器的登陆操作中

1.RBAC::authenticate();

用于在用户表中查找表单提交的用户名的数据,实质上就是一条用户表查寻语句,=====> return M(modle)->where(array)->find();这个操作有两个参数

a.array()数组的写法及作用和表查寻数组一样,=====>array(‘字段’=>‘值’,‘字段’=>array('条件','值'));

b.model就是表名,默认是配制参数 C('USER_AUTH_MODEL');返回值是一条查询结果以一维数组承显,注:它就是一个针对用户表的单条记录查寻方法,我们可以不用它,直接用查寻语句。

2.RBAC::saveAccessList();

将用户可以操控的应用名(组名),控制器名,操作名以一个三维数组的形势写入session。

参数是用户id,一般我们在用户登陆验证通过后,会将用户id写入session中的C('USER_AUTH_KEY');

本方法中默认会拿$_SESSION(C('USER_AUTH_KEY'))这个参数;

第二类:放在公共控制器中(所有参加权限验证的控制器类全都要继于成这个类)

链接:https://pan.baidu.com/s/1v5gm7n0L7TGyejCmQrMh2g 提取码:x2p5

免费分享,但是X度限制严重,如若链接失效点击链接或搜索加群 群号936682608

3.RBAC::AccessDecision();

用来判断当前用户对当前操控是否有权限,参数默认是应用名APP_NAME,如果是分组的模式,就得传入分组名GROUP_NAME

这里面调用了一个方法 RBAC::checkAccess(); 用于验证当前控制器或操作是否参加本次判断.

注:有四个配制参数,需要我们写两个。

需要验证控制器:REQUIRE_AUTH_MODULE 需要验证操作:REQUIRE_AUTH_ACTION

不需要验证控制器:NOT_AUTH_MODULE 不需要验证操作:NOT_AUTH_ACTION

如果全写需要:在REQUIRE_AUTH_ACTION中写操作的同时必须在REQUIRE_AUTH_MODULE写其所属控制器。

如果全写不需要:在NOT_AUTH_MODULE中写了控制器,其控制器中的所有方法都将不需要验证

如果独写NOT_AUTH_ACTION中的操作,则需要注意操作名重名的问题。

4.RBAC::checkLogin();

用来判断用户是否登陆,注:登陆后的首页显示这个操作必须参加验证,所以每个角色都得加入这个操作的权限。

也可以不用这个方法,直接判断$_SESSION[C('USER_AUTH_KEY')]是否存在,不存在就跳转到登陆界面这样就可以让登陆后首页显示这个操作不参加验证。

RBAC类在ThinkPHP中的四种使用方法的更多相关文章

  1. Hashtable类中的四种遍历方法对比

    要遍历一个Hashtable,api中提供了如下几个方法可供我们遍历: keys() - returns an Enumeration of the keys of this Hashtable ke ...

  2. ThinkPHP中的四种路由形式

    1.普通形式路由(get形式路由) 路由形式:http://网址/入库文件?m=分组&c=控制器&c=控制器&a=方法名&参数=参数 例子:http://localho ...

  3. AJPFX关于Java中运用数组的四种排序方法

    JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法.快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现.冒泡法是运用遍历数组进行比 ...

  4. JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)

    1.throws和throw的区别 throws使用在函数外,是编译时的异常,throw使用在函数内,是运行时的异常 使用方法 public int method(int[] arr) throws ...

  5. C++中的四种转型操作符

    在具体介绍C++中的四种转型操作符之前,我们先来说说旧式转型的缺点: ①它差点儿同意将不论什么类型转换为不论什么其它类型,这是十分拙劣的.假设每次转型都可以更精确地指明意图,则更好. ②旧式转型难以辨 ...

  6. Java 中的四种引用及垃圾回收策略

    Java 中有四种引用:强引用.软引用.弱引用.虚引用: 其主要区别在于垃圾回收时是否进行回收: 1.强引用 使用最普遍的引用.如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会 ...

  7. JAVA中的四种引用以及ReferenceQueue和WeakHashMap的使用示例

    简介: 本文主要介绍JAVA中的四种引用: StrongReference(强引用).SoftReferenc(软引用).WeakReferenc(弱引用).PhantomReference(虚引用) ...

  8. Java中的四种引用

    引用定义 实际上,Java中存在四种引用,它们由强到弱依次是:强引用.软引用.弱引用.虚引用.下面我们简单介绍下这四种引用: 强引用(Strong Reference):通常我们通过new来创建一个新 ...

  9. 百度地图和高德地图坐标系的互相转换 四种Sandcastle方法生成c#.net帮助类帮助文档 文档API生成神器SandCastle使用心得 ASP.NET Core

    百度地图和高德地图坐标系的互相转换   GPS.谷歌.百度.高德坐标相互转换 一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系,一般用国际GPS纪录仪记 ...

随机推荐

  1. Winform中设置ZedGraph的曲线为散点图

    场景 Winform中设置ZedGraph的曲线符号Symbol以及对应关系: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  2. Windows Service 服务搭配FluentScheduler实现定时任务调度

    Windows Service 服务 创建Windows Service 项目 创建一个Windows Service项目,并将项目名称改为 TaskWindowService 在解决方案资源管理器内 ...

  3. datatable转layui表格v2[分页and带模板]【偏实例】

    本项目由普通mvc+webapi接口构成.按执行顺序,代码如下:主控制器:public ActionResult Index(int id=0) { ViewData["myid" ...

  4. MDT rules实用

    [Settings]Priority=DefaultProperties=MyCustomProperty [Default]OSInstall=YSkipBDDWelcome=YESSkipCapt ...

  5. Java生鲜电商平台-库存管理设计与架构

    Java生鲜电商平台-库存管理设计与架构 WMS的功能: 1.业务批次管理 该功能提供完善的物料批次信息.批次管理设置.批号编码规则设置.日常业务处理.报表查询,以及库存管理等综合批次管理功能,使企业 ...

  6. deepin添加设置快捷键

    deepin的设置侧边栏没有快捷键需要手动设置,第一步就是要知道设置的命令是什么. 按下start,把其中的"控制中心"发送到桌面,以文本方式打开之,其中的exec字段就是打开设置 ...

  7. python3 AES 加解密

    #coding:utf-8 import base64 from Crypto.Cipher import AES #注:python3 安装 Crypto 是 pip3 install -i htt ...

  8. 【Spring IoC】Spring Bean(三)

    一.Spring Bean的定义 被称作 bean 的对象是构成应用程序的支柱也是由 Spring IoC 容器管理的.bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象. ...

  9. Jmeter压力并发测试

    一.http://jmeter.apache.org/ 二.点击Download Releases选择版本下载 三.下载解压: 将解压后的文档存盘-下载logkit-2.0.jar(汉化包)放到jme ...

  10. 传统的DOM渲染方式

    什么是DOM渲染: DOM渲染是浏览器展现给用户的DOM文档的生成的过程. DOM渲染的演化过程: ①纯后端渲染 ②纯前端渲染 ③服务端的js渲染结合前端渲染 纯后端渲染:DOM树的生成完全是在后端服 ...