Tomcat是一款著名的开源Web领域Java容器,然而其配置中容易遇到种种问题。如笔者所碰到的进入host manager 页面时显示403错误的问题。下面将个人配置Tomcat的经验记录下来,以供交流参考。
版本:apache-tomcat-8.0.15
系统环境:Windows8.1 X64
问题描述:
配置Tomcat服务器时,按照教程,在conf/tomcat-users.xml中添加了如下代码:
<role rolename="manager-gui"/>
<user username="manager"password="manager" roles="manager-gui "/>
重启Tomcat服务,此时可以用manager用户登陆Server Status和Manager App页面,然而在登陆Host Manager页面时却显示403错误。搜索之,得到的解决方案是rolename需要与\webapps\manager\WEB-INF\web.xml中对应,即为manager-gui,与我的设置方法相同。
之后百思不得其解,直到在webapps目录下,发现host-manager目录,其中的\WEB-INF\web.xml中有一role名为admin-gui,想到“权限”一词,于是将代码添加如下:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="manager"password="manager" roles="manager-gui, admin-gui"/>
重启Tomcat服务,问题解决。
事后思考,认为role大致相当于windows中的用户类型。每种类型的用户有不同的权限,再添加自己的用户时,要将所需的权限添加进标签<user/>标签的roles属性中,多种roles中间用逗号隔开。