Tomcat 管理器不要求登录

标签 tomcat

我在 Linux 中安装了 Tomcat v9。当我尝试访问 Manager App - 它不要求任何登录,并在下一页显示 403 Access Denied 错误。

tomcat-users.xml 文件显示用户条目如下 -

<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">

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

</tomcat-users>

同样从 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>

我不明白为什么它不要求我登录。在它这样做之前,我无法验证它是否获得了适当的角色。可能是什么问题?

最佳答案

管理器应用程序本身有一个新的 IP 地址限制。查看配置文件 TOMCAT_HOME\webapps\manager\META-INF\context.xml。应该是这样的:

<Context antiResourceLocking="false" privileged="true" >
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>

我建议添加您的远程 IP 地址,例如允许专用网络192.168.0.0:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.0\.\d+" />

PS:host-manager 需要更改相同的设置。

关于Tomcat 管理器不要求登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38535572/

相关文章:

java - 是什么让 Tomcat5.5 不能成为新 Java Web 应用程序的 "aware"?

tomcat - 我的 servlet 过滤器 JAR 在哪里用于 Tomcat 8 和 Jira?

eclipse - 由于 servlet,Tomcat 服务器无法在 eclipse 中启动

java - JSF 托管 bean 在 Tomcat 部署期间导致 java.io.NotSerializableException

java - 如何允许根上下文中的 servlet 过滤器在其他上下文中工作?

java - 访问 Web 服务时出现 NoClassDefFoundError

hibernate - 如何解决 java.lang.NoClassDefFoundError : org/hibernate/QueryTimeoutException in spring

java - 如何在 Eclipse 中的 Tomcat 中使用导致 InvalidJarIndexException 的损坏的 JAR 索引来追踪 JAR

tomcat - 在 Liferay 上执行 SSH,然后当我退出终端时它会关闭

tomcat - 如何使用 Maven(m2e 插件)自动将库部署到 Tomcat?