Tag Archives: rbac

Thinkphp Rbac应用篇二

最近因为很多事情都没有做完一直没好意思更新,今天趁着天亮前的空档索性更新一下好了,内容很基础,就是RBAC的实际应用,如果不熟悉的可以看一下上篇。Rbac不完全深入详解 我们在前期的时候知道了rbac的认证流程,其实下面要写代码的话也是依照这个认证流程来的,下面继续来看,翻看Controller.class代码的时候发现这么一行

Posted in php | Tagged , , , , | Leave a comment

Thinkphp Rbac不完全深入详解一

说到thinkphp rbac就得先说一下rbac, 那么什么是rbac?  rbac即(role based access control)就是基于角色的访问控制的意思。那么什么是基于角色的访问控制?还是跟上面一样,要想知道什么是基于角色的访问控制首先就得来理解什么是角色,那么,什么是角色? 角色,它是一种代称,可以代指某一种或者多种可视和非可视规则和不规则物,简单举例来说,我在家是儿子,而这个儿子就可以称为是一种角色,因为此时角色属于儿子,所以我便可以行使一些儿子可以拥有的权限,假如这个时候我8岁的话,便可以让长辈代替我穿衣,或者喂我吃饭。而这个儿子只是我拥有角色之一,我可以同时拥有多种角色,而每一种角色会拥有若干权限,我可以根据不同的角色限制不同的用户访问,而这个限制的行为就叫做基于角色的访问控制。

Posted in php | Tagged , , , , | Leave a comment

Thinkphp Rbac 一

rbac指的是基于角色的访问控制,就是通过权限表与用户组进行关联以达到权限认证的目的,thinkphp rbac是它对rbac的一个封装,可以不需要写过多的代码完成这个功能。 Thinkphp Rbac的认证原理是这样的: 1.判断当前模块的当前操作是否需要认证,如果需要认证未登录就跳转到认证网关获取决策访问列表,如果不需要认证未登录就检测是否有访问权限。 我们可以从Tp的源码中观察到,它是通过saveAccessList获取用户的权限列表,并保存到session中。  //用于检测用户权限的方法,并保存到Session中     static function saveAccessList($authId=null) {         if(null===$authId)   $authId = $_SESSION[C(‘USER_AUTH_KEY’)];         // 如果使用普通权限模式,保存当前用户的访问权限列表         // 对管理员开发所有权限         if(C(‘USER_AUTH_TYPE’) !=2 … Continue reading

Posted in php | Tagged , , , | Leave a comment