9

在访问 Tomcat 管理器应用程序时,我在 tomcat 7.0.42 上遇到错误 403 访问被拒绝。

这就是我在tomcat-user.xml文件中的内容。我尝试过一遍又一遍地改变角色,但没有奏效。

注意: - 我从 NetBeans 7.3.1 启动/停止 tomcat

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
 <role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-script" />
</tomcat-users>
4

4 回答 4

39

删除管理器脚本并添加“manager-gui,manager-status”。

要访问 HTML 界面,您需要拥有 manager-gui 角色,但不能拥有 manager-script 或 manager-jmx 角色。

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

一些关于角色的信息来自http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html

  • manager-gui — 访问 HTML 界面。
  • manager-status — 仅访问“服务器状态”页面。
  • manager-script — 访问本文档中描述的工具友好的纯文本界面,以及“服务器状态”页面。
  • manager-jmx — 访问 JMX 代理接口和“服务器状态”页面。
于 2013-10-11T19:26:27.903 回答
1

虽然答案已经是正确的答案,但我想也许有人会对“manager-script”的使用感到困惑。

“manager-script”用于在不使用网页的情况下访问 Tomcat Manager API。

例如,下面的命令用于请求取消部署功能,而不是单击 Tomcat Manager Web 应用程序上的取消部署按钮。

curl http://localhost:8080/manager/text/undeploy?path=/app_name
于 2021-04-16T06:45:26.480 回答
0

我在ubuntu上绑定了tomcat7,发现如果你这样配置:

<user username="admin1" password="admin1" roles="manager-gui,manager-jmx,manager-script,manager-status,admin-gui,admin-script"/>
<user username="admin2" password="admin2" roles="admin-gui,admin-script,manager-gui,manager-jmx,manager-script,manager-status"/>

admin1 可以正常工作,但 admin2 没有访问权限。似乎角色的顺序很重要。

于 2016-07-26T05:09:14.797 回答
-3
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="admin" roles="manager-gui,manager-status"/>

将这些添加到 conf 文件夹内标记之前的 tomcat-users.xml 末尾。

于 2015-05-26T02:55:53.490 回答