zatree是监控软件zabbix的一个插件,主要功能是提供host group的树形展示和在item里指定关键字查询及数据排序。

zatree项目地址https://github.com/spide4k/zatree,安装方法进到不同版本目录看readme。

又发现zatree的一个小问题:在zabbix_config.php配置Admin和密码后,任何普通用户在zatree的左侧栏能看到所有的主机组列表,包括没有权限的那些主机组。

zatree是用zabbix_config.php中配置的用户和密码来获取主机组列表的,因为配置的是Admin超级用户,自然能获取到全部的主机组了。

因此优化了zatree左侧边栏,使普通用户只能看到属于自己的主机组列表。原理是zabbix_ajax.php获取cookie中的sessionid,通过这个sessionid获取登录用户的主机组列表。

    修改方法如下,这里针对zatree的zabbix-2.2.x版本做修改,方法同样适合zabbix-2.0.x版本:

进入zatree目录,修改以下两个文件:
    第一步:zabbix_ajax.php
传递$_COOKIE['zbx_sessionid']给hostgroupGet(),获取当前用户具有readable权限的主机组列表。

1
        $groups $zabbixApi->hostgroupGet(array("output" => "extend""monitored_hosts" => true));

修改为:

1
2
3
4
5
        if(isset($_COOKIE['zbx_sessionid'])){
            $groups $zabbixApi->hostgroupGet(array("output" => "extend""monitored_hosts" => true), ''$_COOKIE['zbx_sessionid']);
        else {
            $groups $zabbixApi->hostgroupGet(array("output" => "extend""monitored_hosts" => true));
        }

    第二步:ZabbixApiAbstract.class.php
修改2594行hostgroupGet方法,添加$sessionid形参。当传入$sessionid参数时,设置$this->auth的值为$sessionid。

1
2
3
4
5
6
7
8
    public function hostgroupGet($params=array(), $arrayKeyProperty='')
    {
        // get params array for request
        $params $this->getRequestParamsArray($params);
        // request
        return $this->request('hostgroup.get'$params$arrayKeyProperty);
    }

修改为:

1
2
3
4
5
6
7
8
9
10
    public function hostgroupGet($params=array(), $arrayKeyProperty=''$sessionid='')
    {
        // get params array for request
        $params $this->getRequestParamsArray($params);
        // request
        if (isset($sessionid))
            $this->auth = $sessionid;
        return $this->request('hostgroup.get'$params$arrayKeyProperty);
    }

链接地址:https://github.com/spide4k/zatree/pull/2

本文转自 张斌_青岛 51CTO博客,原文链接:http://blog.51cto.com/qicheng0211/1531637

zatree插件优化:优化左侧边栏相关推荐

  1. php 添加内链插件,ecshop自动内链插件seo优化插件

    ecshop自动内链插件seo优化插件安装教程: 1.打开admin\includes里面的inc_menu.php文件: 添加: $modules['11_system']['auto_neilia ...

  2. 02 MySQL优化 - 优化SQL语句

    MySQL-refman-8.0 目录 一.优化SELECT语句 1.1 WHERE 语句优化 1.2 范围优化 1.2.1 单部分索引的范围访问方法 1.2.2 多部分索引的范围访问方法 1.2.3 ...

  3. element-ui 左侧边栏el-menu组件: 路由跳转 - 案例篇

    有顶部导航 .还有侧边栏导航:如何实现路由的设置.跳转.高亮? A. 顶部导航 · Hhtml 代码如下:(含高亮设置) <el-menu:default-active="$route ...

  4. 163.Oracle数据库SQL开发之 SQL优化——优化工具

    163.Oracle数据库SQL开发之 SQL优化--优化工具 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50186075 ...

  5. 综述:神经网络的优化-优化器,动量,自适应学习率,批量归一化

    综述:神经网络的优化-优化器,动量,自适应学习率,批量归一化 xingbod@gmail.com 在本文中,我将讨论与神经网络优化有关的以下概念: 优化面临的挑战 动量 适应性学习率 参数初始化 批量 ...

  6. 性能优化 -- 优化SurfaceView的线程调用

    性能优化 – 优化SurfaceView的线程调用 目录 性能优化 – 优化SurfaceView的线程调用 目录 SurfaceView的基本用法 问题 解决方案 为了防止Handler引发的内存泄 ...

  7. Debug时 Eclipse左侧边栏的白色箭头是什么意思?

    老李在debug代码时的Debug栈如下图1所示.当选中图1的"Main.main(String[]) line6"时,Eclipse左侧边栏出现如下图2所示的白色箭头.我们知道d ...

  8. 搜刮引擎优化优化:高质自创也是一种才气体

    从公司网站搜刮引擎优化优化的视点思量,网站的代价重要表如今那边?站长们定不谋而合地说,是高质量自创软文.没错,随着时间的推移,搜刮引擎百度变得愈加成熟了.做百度优化的站长们不再仅仅大略地仿制.网络和伪 ...

  9. mysql右表更新左表,mysql优化。左表是25W数据,右表目前小表,但随后是百万,千万,亿级别的表,慢慢增长...

    现在的问题是,我左表是25W数据,一个部门表,右表是部门的积分明细表,现在需要左表连右表,然后用where like 范围查找,如果关键字是全表都有的话,查询出来的结果是25W条数据,查询很慢,大概要 ...

最新文章

  1. [导入]ZT笑到内伤:史上最雷,最爆寒的电影字幕
  2. linux文件常用权限,常用的更改Linux系统文件权限的命令
  3. centos7桌面登录root用户_CentOS7从一般用户切换到root用户
  4. 14英寸电脑长宽多少_首款5G折叠屏电脑发布:看完价格,我酸了
  5. mysql 浮点数 字节_数据库学习笔记之MySQL(02)
  6. $python日期和时间的处理
  7. python之禅星号_那些用起来很爽,但用不好可能会被人打的Python骚操作
  8. deeply understanding Binary tree--二叉树
  9. 中国 GitHub 开发者数量年增长 37%,为全球最快
  10. bzoj 1002: [FJOI2007]轮状病毒
  11. 不能使用 float 和 double 来表示金额等精确的值
  12. 2048和多地址入口_七天网站成绩查询官网登录入口地址:http://www.7net.cc/
  13. 淘客发单机器人wztools_在淘客的迷茫中,拼多多给了我一丝光明
  14. 2019裁员潮,测试被裁了能干什么?
  15. MySQL GIS功能介绍
  16. 《Vue3+TS》开发一个自己的起始页
  17. [转载] K3漏油器全紫铜替换原硅胶垫教程。标准姿势
  18. 慕课网视频中的代码---3-4 Minst手写体识别
  19. 科学家发现斯格明子霍尔效应:可造新型电子储存器
  20. Kafka 心跳机制 重复消费

热门文章

  1. 大数据笔记2019.5.10
  2. 软件Trimmomatic
  3. MATLAB实现偏最小二乘回归PLS
  4. 织梦 百度sitemap制作教程
  5. centos下kong源码安装
  6. require demo 记录备份
  7. 在centos下启动nginx出现Failed to start nginx.service:unit not found
  8. File-nodejs
  9. 超强、超详细Redis数据库入门教程
  10. VS2015 Cordova实现WebView加载页面进度条(Android)