正文

PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项

PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项

PHP Server Monitor默认是需要登陆才可以看到服务器的监控信息。有时候我们需要将监控内容进行公开访问。下面就提供一种给访客访问无需登陆账户的办法。

1.在PHP Server Monitor后台创建一个普通用户

作为访客账号,账户和密码随意写。比如test。

账户等级选择普通用户,下方的监控自己选择公开哪些项目。

PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项

2.修改User.php配置文件

文件位置:\src\psm\Service\User.php

在大概98行左右,$this->session = $session;的后面加入以下代码。

global $_GET;

  if ($_GET["kl"] == "test"){
     $user_id = 2;
     $this->setUserLoggedIn($user_id, true);
     $user = $this->getUser($user_id);
     $this->newRememberMeCookie();
  }

然后访问地址:http://域名/?kl=test即可自动登录test账户。

3.删除访客可操作菜单

仅仅让访客自动登录账户还不行,我们还需要删除一些访客账户可操作性的菜单。

编辑文件\psm\Module\AbstractController.php,在274行,修改为

$items = array('server_status',  'server_log');

这样访客只能看到监控项目,和日志,无法操作其他设置。

PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项

效果如下:

PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项

PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项

右侧访客还可以更该账户资料等信息,我们可以直接把这个菜单给注释或者直接删掉。

修改文件/src/templates/default/main/menu.tpl.html

先把那个帮助给删掉,本文是注释掉了。

<!--
帮助菜单,已注释
<li id="nav_option_help">
  <a href="http://www.phpservermonitor.org/support" target="_blank">{{ label_help }}</a>
</li>
-->

PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项

然后删除或者注释掉右上角的账户资料选项。

<!--
<ul class="nav pull-right">
<li class="dropdown visible-desktop">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ label_usermenu }} <b class="caret"></b></a>
  <ul class="dropdown-menu">
  <li><a href="{{ url_profile|raw }}"><i class="icon-cog"></i>&nbsp;{{ label_profile }}</a></li>
  <li><a href="{{ url_logout|raw }}"><i class="icon-off"></i>&nbsp;{{ label_logout }}</a></li>
  </ul>
</li>
<li class="hidden-desktop divider"></li>
<li class="hidden-desktop"><a href="{{ url_profile|raw }}">{{ label_profile }}</a></li>
<li class="hidden-desktop"><a href="{{ url_logout|raw }}">{{ label_logout }}</a></li>
</ul>
-->

PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项

这样就达到了我们所需要的效果。

PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项