Tomcat 配置管理用户
步骤:
1.在tomcat的安装目录下找到conf文件夹并打开,找到server.xml打开,查找是否有这段代码,没有则添加
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
</GlobalNamingResources>
这样一段代码,让tomcat启动服务后能加载到conf/tomcat-users.xml,这个文件。
2.在conf文件夹找到tomcat-users.xml并打开,然后可以发现已经配置有user了,但是被注释掉了。我们需要把那个注释去掉才能使得user生效,注释不去掉,那都是没用的。如下示例:
默认样式:
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
<user username="role1" password="<must-be-changed>" roles="role1"/>
-->
去掉注释后:
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
<user username="role1" password="<must-be-changed>" roles="role1"/>
3.去掉注释后还需要把password改掉,改成你自己需要设置的密码,如:password=“password”
4.需要注意的是:去掉注释后发现还是不能登录Tomcat的manager的,需要对注释后的代码进行改写:
改写后:
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<user username="gui" password="password" roles="manager-gui"/> <!--访问HTML界面。-->
<user username="status" password="password" roles="manager-status"/> <!--仅访问“服务器状态”页面。-->
<user username="script" password="password" roles="manager-script "/> <!--访问本文档中描述的工具友好的纯文本界面以及“服务器状态”页面。-->
<user username="jmx" password="password" roles="manager-jmx"/> <!--访问JMX代理接口和“服务器状态”页面。-->
<user username="both" password="password" roles="manager-status,manager-jmx"/> <!--仅访问“服务器状态”页面和访问JMX代理接口和“服务器状态”页面。-->
5.注意在配置username的时候,不要取重复的名字,因为这样很可能让你的配置不起效果。
6.配置好了后,需要重新启动Tomcat,让Tomcat重新读取tomcat-users.xml内的参数。然后打开localhost:8080页面,点击下图红框中三个按钮的一个,使用相对应的user进行登录即可
7.从Tomcat Manager内部配置文件中可以得知,manager-gui、manager-script、manager-jmx均具备manager-status的权限,也就是说,manager-gui、manager-script、manager-jmx三种角色权限无需再额外添加manager-status权限,即可直接访问路径"/manager/status/*"。
注意事项:Tomcat默认是只能在Tomcat运行的机器上的浏览器才能访问manager的页面,如果需要让其他的机器能访问,需要另外进行配置。