正文
PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项
PHP Server Monitor开启公共访问,访客用户自动登录并删除可操作菜单选项
PHP Server Monitor默认是需要登陆才可以看到服务器的监控信息。有时候我们需要将监控内容进行公开访问。下面就提供一种给访客访问无需登陆账户的办法。
1.在PHP Server Monitor后台创建一个普通用户
作为访客账号,账户和密码随意写。比如test。
账户等级选择普通用户,下方的监控自己选择公开哪些项目。
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');
这样访客只能看到监控项目,和日志,无法操作其他设置。
效果如下:
右侧访客还可以更该账户资料等信息,我们可以直接把这个菜单给注释或者直接删掉。
修改文件/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> -->
然后删除或者注释掉右上角的账户资料选项。
<!-- <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> {{ label_profile }}</a></li> <li><a href="{{ url_logout|raw }}"><i class="icon-off"></i> {{ 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> -->
这样就达到了我们所需要的效果。