首页 技术 正文
技术 2022年11月14日
0 收藏 427 点赞 3,187 浏览 5743 个字

这里,主要补充的是配置以及相关代码问题。

<?php
return array(
//'配置项'=>'配置值'
'RBAC_SUPERADMIN' => 'admin',//超级管理员名称,对应用户表中某一个用户:username
'ADMIN_AUTH_KEY' => 'superadmin',//超级管理员识别 'USER_AUTH_ON' => true, //是否需要认证
'USER_AUTH_TYPE' => 1, //认证类型 1-登陆后认证,2-实时认证
'USER_AUTH_KEY' => 'authId', //认证识别号,此处可以自定义
//'REQUIRE_AUTH_MODULE' => '', //需要认证模块
'NOT_AUTH_MODULE' => 'User,Index,Safe', //无需认证模块,和上面重复
'NOT_AUTH_ACTION' => 'addRoleHandle,addNodeHandle,addUserHandle,accessHandle',//无需认证操作
//'USER_AUTH_GATEWAY' => '', //认证网关,此处可以不用
//'RBAC_DB_DSN' => '', //数据库连接DSN
'RBAC_ROLE_TABLE' => 'tp_role', //角色表名称
'RBAC_USER_TABLE' => 'tp_role_user', //用户表名称
'RBAC_ACCESS_TABLE' => 'tp_access', //权限表名称
'RBAC_NODE_TABLE' => 'tp_node', //节点表名称

aaarticlea/png;base64,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” alt=”” />这个一栏作为菜单,必定有其相应的代码:

 //左边菜单
public function left(){
// var_dump(session('role-id')); $this -> assign("ouba",session('role-id'));
//超级管理员
if(session(C('ADMIN_AUTH_KEY'))){
$node = D('Tp_node') ->relation(true)-> where('level = 2') -> order('sort')-> select();
}else{
//取出所有权限节点
$node = D('Tp_node') ->relation(true)-> where('level = 2') -> order('sort')-> select();
//取出当前登录用户所有权限(英文名称)和操作权限
$module = '';
$node_id = '';
$accessList = $_SESSION['_ACCESS_LIST'];
foreach($accessList as $key => $value){
foreach($value as $key1 => $value1){
$module = $module.','.$key1;
foreach($value1 as $key2 => $value2){
// $node_id = $node_id.','.$key2;
$node_id = $node_id.','.$value2; }
}
} //去掉没有权限的节点
foreach($node as $key => $value){
if(!in_array(strtoupper($value['name']),explode(',',$module))){
unset($node[$key]);
}
else{
//模块存在,比较里面的操作
foreach($value['node'] as $key1 => $value1){
// if(!in_array(strtoupper($value1['name']),explode(',',$node_id))){
if(!in_array(strtoupper($value1['id']),explode(',',$node_id))){
unset($node[$key]['node'][$key1]); //一层一层下来,删除此操作
}
}
}
}
}
$this -> assign('node',$node);
$this->display();
}

注意几点:该函数方法主要对于权限的节点的处理,其中使用的“大D”,则在Model,中必有其对应的映射关系:

<?php
namespace Manage\Model;
use Think\Model\RelationModel;
class TpNodeModel extends RelationModel{
protected $_link = array(
'Tp_node'=>array(
'mapping_type'=> self::HAS_MANY,
'parent_key'=>'pid',
// 'class_name'=> 'Article',
'foreign_key'=> 'id',
'mapping_name' => 'node',
// 'mapping_order' => 'create_time desc', ),
);
}?>
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,942
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,468
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,281
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,095
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,728
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,765