ThinkPHP中RBAC类的四种用法分析

 更新时间:2014年11月24日 10:22:14   投稿:shichen2014  
这篇文章主要介绍了ThinkPHP中RBAC类的四种用法,较为详细的分析了登陆控制器及公共控制器中的常见用法,具有一定的参考借鉴价值,需要的朋友可以参考下

本文实例讲述了ThinkPHP中RBAC类的四种用法。分享给大家供大家参考。具体方法如下:

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

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'))这个参数;

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

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')]是否存在,不存在就跳转到登陆界面这样就可以让登陆后首页显示这个操作不参加验证。

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

相关文章

  • php include的妙用,实现路径加密

    php include的妙用,实现路径加密

    用这种方法比较繁琐,只能隐藏后台脚本的路径,前端的脚本路径仍然可以在源文件中看得到(baseref) 在地址栏上看到的地址都是index.php?xxxxxxxx
    2008-07-07
  • PHP生成Flash动画的实现代码

    PHP生成Flash动画的实现代码

    使用 Flash 动画的第一种方法是使用 Ming 库动态生成它们。Ming 库是一个 PHP 库,在wamp我看到已经带了这个库,只是没有启用。
    2010-03-03
  • php数组指针函数功能及用法示例

    php数组指针函数功能及用法示例

    这篇文章主要介绍了php数组指针函数功能及用法,结合实例形式分析了PHP数组指针函数reset(),prev(),current(),next(),end(),key(),each()的功能、用法及针对数组键值相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • 如何用PHP实现分布算法之一致性哈希算法

    如何用PHP实现分布算法之一致性哈希算法

    进行大型网站的web开发时,分布式这个词经常出现在我们面前。如: memcache、redis服务器等缓存服务器的负载均衡(分布式cache)、 MySQL的分布式集群,这些都会用到分布式的思想,都要理解分布式算法。接下来以缓存服务器的负载均衡来谈一下一致性哈希算法。
    2021-05-05
  • php使用wordwrap格式化文本段落的方法

    php使用wordwrap格式化文本段落的方法

    这篇文章主要介绍了php使用wordwrap格式化文本段落的方法,涉及wordwrap函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 快速配置PHPMyAdmin方法

    快速配置PHPMyAdmin方法

    今天想提一下如何配置PHPMyAdmin,虽然在本机开发、调试系统时或许并不会用到它,但对于将来在远程虚拟主机中放置Mysql数据库时,必然会用到phpmyadmin这样的Mysql GUI工具,所以,在本地先熟悉一下如何使用也是有必要的。
    2008-06-06
  • PHP COOKIE及时生效的方法介绍

    PHP COOKIE及时生效的方法介绍

    本篇文章主要是对PHP中COOKIE及时生效的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • php中sprintf与printf函数用法区别解析

    php中sprintf与printf函数用法区别解析

    这篇文章主要介绍了php中sprintf与printf函数用法区别解析,需要的朋友可以参考下
    2014-02-02
  • 处理php自动反斜杠的函数代码

    处理php自动反斜杠的函数代码

    处理php自动反斜杠的实现函数
    2010-01-01
  • PHP WebSocket的技术解析与使用指南详解

    PHP WebSocket的技术解析与使用指南详解

    在这篇文章中我们将深入讨论从建立连接、绑定到监听等各方面的操作,并提供易于理解和实践的指导,希望可以帮助大家掌握在PHP中使用WebSocket的关键概念和技术
    2024-02-02

最新评论