tomcat manager 的用户权限配置,及环境变量CATALINA_HOME的错位问题

因为tomcat的manager是管理其他项目的发布、删除等操作的管理项目,所以需要为其设置登陆用户和密码,以及用户相应的访问权限,配置如下:

tomcat-users.xml需要添加如下内容:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="shdosh521" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

 

 从Tomcat Manager内部配置文件中可以得知,manager-guimanager-scriptmanager-jmx均具备manager-status的权限,也就是说,manager-guimanager-scriptmanager-jmx三种角色权限无需再额外添加manager-status权限,即可直接访问路径/manager/status/*

 

server.xml需要有加载tomcat-users.xml这个配置文件的配置:

<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>

 

  但是需要注意的是:这里的conf/下的tomcat-users.xml这里默认是配置的环境变量的CATALINA_HOME下的conf目录,所以当前启动的tomcat必须是CATALINA_HOME指向的tomcat否则的话,启动别的tomcat它还是回去CATALINA_HOME下去找那个conf去加载配置文件,那样你在你启动的tomcat里配置的用户权限信息就无效了,因为根本没有加载到!

并且比如:我CATALINA_HOME配置的是tomcat8的路径,我启动时候是用的tomcat7的start.bat,那么启动的时候还是用的tomcat8里的配置文件启动的,如图:

启动的是tomcat8

但是实际上我操作的是tomcat7的start.bat启动的

 

 

 

具体关于tomcat manager的配置,请查看来自极道学园的文章:http://wiki.jikexueyuan.com/project/tomcat/manager.html

posted @ 2017-09-30 14:12  天涯剑客浪天涯  阅读(894)  评论(0编辑  收藏  举报