1

所以我一直遇到这个问题,我无法通过 Tomcat 管理器的登录页面。似乎其他人也遇到过这个问题,但在这种情况下,他们的解决方案似乎都没有帮助我。这是我已更改的文件,用于帮助我完成这个看似微不足道的令人沮丧的旅程。也许我只需要一双新鲜的眼睛。

到目前为止,我的问题是登录不会接受我给他们的凭据,并且经理一直给我基本的身份验证登录,直到我取消它才会将我发送到401页面。我发现我的解决方案是从内部删除安全性,web.xml但这manager/WEB-INF既不安全也不是好事。任何想法表示赞赏!

tomcat-users.xml

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

webapps/manager/META-INF/context.xml

<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
       allow="\d+\.\d+\.\d+\.\d+" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

conf/{engine}/{host}/manager.xml

<Context privileged="true" antiResourceLocking="false"
     docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
       allow="^.*$" />
</Context>

这一切都在 docker 镜像中运行。当我 bash 里面所有需要的文件都在那里。是否有一些我错过的配置,我需要删除的东西?我试过评论Valvein/manager/META-INF/context.xml但也没有运气。感谢您的关注!

4

1 回答 1

2

是的,我是对的。tomcat-users.xml我错过了server.xml被称为 a的钩子Realm

您可以将其添加到EngineorHost元素中,如下所示:

        <Engine>
            <!-- THIS GUY --> 
           <Realm className="org.apache.catalina.realm.MemoryRealm" />
                <Host ...>
                <!-- OR ADD IT HERE  DONT DO BOTH--> 
                    <Realm className="org.apache.catalina.realm.MemoryRealm" />
                    ...
                </Host>
            </Engine>

Hopefully some poor soul stumbles upon this and it helps. 
于 2018-09-27T20:53:13.187 回答