Tomcat 9 Manager, Docker и невозможность получить пройденный логин - PullRequest
0 голосов
/ 27 сентября 2018

Итак, у меня возникла проблема, из-за которой я не могу пройти через страницу входа в систему диспетчера 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>

Все это выполняется внутри образа докера.Когда я захожу внутрь, все необходимые файлы есть.Есть какая-то конфигурация, которую я пропустил, что-то, что мне нужно удалить?Я пытался закомментировать Valve в /manager/META-INF/context.xml, но тоже не повезло.Спасибо за внимание!

1 Ответ

0 голосов
/ 27 сентября 2018

Да, я был прав.Мне не хватало крюка для tomcat-users.xml в server.xml, называемого Realm.

Вы можете добавить его в элемент Engine или Host, например:

        <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. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...