Tomcat 7 Manager无法登录

时间:2013-09-11 16:09:28

标签: java eclipse tomcat

尝试登录但不能。 我的tomcat-users.xml,正如我在这里看到的那样进行了修改。

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

有什么建议吗?

9 个答案:

答案 0 :(得分:23)

删除admin / admin角色之间的空格。该列表应以逗号分隔:

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

答案 1 :(得分:9)

我遇到了同样的问题,但对我来说原因是 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="/etc/tomcat7/tomcat-users.xml" />

您必须确保路径名已正确设置为 tomcat-users.xml 文件的位置。

答案 2 :(得分:5)

并检查是否未注释:

<!-- ... -->

答案 3 :(得分:3)

您还需要在对tomcat-users.xmlserver.xmlcontext.xmlweb.xml进行更改后重新启动Tomcat,以使更改生效。

就我而言,问题是我在进行更改后没有重启Tomcat。 同样在Tomcat 7上,我已将manager-scriptmanager-gui个角色分配给同一个用户。所以Tomcat给出了403错误来强制执行CRSF保护。

<强>错误

<role rolename="manager-script" />
<role rolename="manager-gui" />
<user username="maven-deployer" password="s3cret" roles="manager-script,manager-gui" />

<强>正确

<role rolename="manager-script" />
<role rolename="manager-gui" />
<user username="maven-deployer" password="s3cret" roles="manager-script" />
<user username="gui-manager" password="s3cret" roles="manager-gui" />

答案 4 :(得分:2)

检查文件&#39; /etc/tomcat7/tomcat-users.xml'的权限和所有权。它应该由root拥有,组所有权应该是tomcat7。

-rw-r ----- 1 root tomcat7 2101 1月22日10:34 tomcat-users.xml

这是在Ubuntu 14.04.3 LTS,YMMV

答案 5 :(得分:2)

我在访问 Tomcat 的管理器(v8.0)时遇到了一些问题,这是 Windows 10 NetBeans (v8.2)IDE的一部分。

用于添加gui-manager用户/密码对的实际 tomcat-users.xml文件位于C:\ Users \\ AppData \ Roaming \ NetBeans \ 8.2 \ apache-tomcat-8.0。 27.0_base \ conf \ path。打开tomcat-users.xml文件并添加一些行:

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

之后,您应该重新启动Tomcat并再次尝试访问管理器。

答案 6 :(得分:1)

从repo安装的Ubuntu Server 14.04.3 tomcat7

对我来说有用的是从tomcat-users.xml文件中删除角色定义。然后重启tomcat。

我的文件现在看起来像这样:

<tomcat-users>
<!--
  NOTE:  By default, no user is included in the "manager-gui" role required
  to operate the "/manager/html" web application.  If you wish to use this app,
  you must define such a user - the username and password are arbitrary.
    -->
<!--
  NOTE:  The sample user and role entries below are wrapped in a comment
  and thus are ignored when reading this file. Do not forget to remove
  <!.. ..> that surrounds them.
-->
  <user username="admin" password="n0tmyr3alp455w0rd" roles="manager-gui,admin-gui"/>
</tomcat-users>

请注意,说明书告诉您定义属于manager-gui的用户,但它不会告诉您定义角色&#34; manager-gui&#34;

答案 7 :(得分:0)

尝试

sudo apt-get install tomcat7-admin

答案 8 :(得分:0)

因此,如果没有其他方法适合您,请在此处查看

我在 server.xml 中使用了以下行

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="jdbc/myapp"/>

此处应始终为 resourceName="UserDatabase"

  <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>

我错误地认为它与我的应用程序数据库有关并已对其进行了配置。这是 tomcat 用户数据库,而不是您的应用程序所拥有的数据库。