Tomcat的Tomcat-user.xml的配置文件
参考文章:http://blog.csdn.net/u010648555/article/details/51471847 阿飞(dufyun)
http://blog.csdn.net/jeamking/article/details/77826318 jeamking
https://zhidao.baidu.com/question/370635171192081044.html huanglenzhi
1.概述
登录Tomcat页面后,可以在Manager中对项目进行管理、发布等。Manager需要配置用户名密码,登录后才可以访问。
用户需要打开Tomcat下的~/conf/tomcat-users.xml文件,关于用户角色、管理员的信息都在这个配置文件中。
2.配置方法
在配置文件的<tomcat-users>节点下添加如下xml。(Tomcat6、和7、8的配置略有不同)
Tomcat6:
1 <role rolename="admin"/> 2 <role rolename="manager"/> 3 <user username="admin" password="admin" roles="admin,manager"/>
tomcat7和8:
tomcat7、8和tomcat6的用户信息配置有些不一样,是因为tomcat7开始,添加了manager=gui和admin-gui的角色,配置参考如下:
1 <role rolename="admin-gui"/> 2 <role rolename="manager-gui"/> 3 <user username="admin" password="admin" roles="admin-gui,admin,manager-gui,manager"/>
这样配置tomcat7首页上的Server Status、Manager App、Host Manager就都可以点击登录进去!
3.配置文件解释
配置文件的注释部分:
在Tomcat的配置文件中,默认有如下一段注释
<!-- <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"/> -->
如果仅把上述内容的注释标记去掉,并修改密码,重启tomcat后访问http://localhost:8081/manager/html,会报403 Access Denied无法登录管理界面。
原因是tomcat8中定义了以下4种角色,所以配置文件中的角色名称是不能任意填写的。
- manager-gui - allows access to the HTML GUI and the status pages
- manager-script - allows access to the text interface and the status pages
- manager-jmx - allows access to the JMX proxy and the status pages
- manager-status - allows access to the status pages only
各参数的含义
Tomcat-users.xml文件包含了所有Tomcat服务器的注册用户,其中有role(角色)、user(用户)两种信息。下面列举出这个XML文件的部分内容。
< xml version='1.0' encoding='utf-8' > <tomcat-users> <role rolename="Tomcat"/> <user username="Tomcat" password="Tomcat" roles="Tomcat,admin"/> </tomcat-users>
1.role节点
Tomcat中保存了一些用户权限,也就是角色,比如admin、Tomcat等。用户还可以自定义,通过""来注册一个角色。它只有rolename一个属性,通过这个属性可以把用户的权限进行分配。
2.User节点
这个数据项中包含了诸如用户名、用户密码、用户权限、用户说明等数据属性。
<user username="wudi" password="wudi" fullName="test" roles="admin,manager,role1,Tomcat"/>
这个语句建立了一个用户,用户名是"wudi",密码也是"wudi"。这个用户的全称是"test"。"wudi"这个用户拥有的权限是admin、manager、role1、Tomcat。
这些用户权限是Tomcat系统默认的。在这里有一些需要声明,Tomcat的系统管理员必须有admin的用户权限,否则无法登陆Tomcat的管理界面。