本文阐述了ThinkPHP四采用RBAC类。
分享给你供你
参考。具体
方法如下:
头等舱:降落
控制器的着陆
操作。
1:RBAC::身份验证();
用于查找
用户表中表单提交的
用户名的数据基本上是一个用户表
搜索语句:
复制代码如下:返回m(模型)> >(数组)-查找();这个操作有两个
参数 的a.array()阵列作为数组的查找相同。
复制代码如下:阵列(= >币值的场,场= >阵列('conditions ','价值'));
模型是表名,
默认的是使代码
复制代码如下:C('user_auth_model ');返回值是一个
查询结果
显示在一个一维数组。
注意:它是用户表的一种单记录搜索方法,没有它我们可以使用它。
2。角色:saveaccesslist();
用户操作的
应用程序名称(组名)、控制器名称和操作名称被写入到三维数组中的会话中。
参数是用户ID。一般来说,在用户
登录验证通过,复制代码,将用户ID到会话如下:C('user_auth_key);
在该方法中,_session美元(C('user_auth_key '))参数取默认。
第二种
类型:放入公共控制器(由
权限验证的所有控制器类都应遵循此类)
3。角色:accessdecision();
它是用来确定当前用户是否为当前操作的权限,默认的是应用程序的名称app_name。如果它是一个分组
模式,
介绍了组名group_name。
这个调用方法来复制代码代码如下:::checkaccess(RBAC);验证电流控制器或操作参与这一判断。
注:有四配制参数,我们需要写两。
需要验证控制器:require_auth_module需要验证的操作:require_auth_action
无需验证控制器:not_auth_module不需要验证操作:not_auth_action
如果所有的写的需要:在require_auth_module写操作在require_auth_action控制器写。
如果全写不需要写在not_auth_module控制器,在控制器中的所有方法不需要验证。
如果写操作在not_auth_action,你需要注意操作名称问题。
4。角色:checklogin();
它用来判断用户是否登陆。
注意:登陆后的主页显示此操作必须进行验证,因此每个角色都必须将权限添加到该操作中。
你也可以用这个方法来直接确定_session美元{ C('user_auth_key ')}的存在。如果你不存在,跳转到登陆
界面,这样你就可以使登陆页面的操作不参与验证。
希望这篇文章能帮助你在ThinkPHP框架程序设计。