401 Несанкционированная ошибка при входе в приложение-менеджер Tomcat - PullRequest
23 голосов
/ 14 октября 2011

Я пытаюсь войти в приложение Manager в Tomcat 7.0.22 для Mac OS X 10.7.Вот ошибка, которую я получаю: http://f.cl.ly/items/421q1K3f1i0X1H1M181v/so.tiff

401 Unauthorized

You are not authorized to view this page. If you have not changed any configuration files, please examine the file conf/tomcat-users.xml in your installation. That file must contain the credentials to let you use this webapp.

For example, to add the manager-gui role to a user named tomcat with a password of s3cret, add the following to the config file listed above.

<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

Я добавил это в свой tomcat-users.xml, но он не использует то же имя пользователя / пароль.

<tomcat-users>
<role rolename="manager-gui"/>
<user name="tomcat" password="s3cret" roles="standard,manager-gui"/>
</tomcat-users>

Ответы [ 19 ]

0 голосов
/ 22 июня 2016

Я использовал особый сложный пароль с большим количеством нечетных символов. Просто верните его на обычный пароль и все заработало.

0 голосов
/ 08 декабря 2015

В Windows у меня была переменная окружения CATALINA_HOME, определенная для другой установки tomcat, так что это указывало, хотя я использовал сценарий запуска в новой папке установки. Поэтому удаление CATALINA_HOME решило проблему для меня.

0 голосов
/ 02 июня 2012

Я получал точно такую ​​же ошибку, и она начала работать только после того, как я изменил порт разъема с 8080 на 8081.

0 голосов
/ 04 сентября 2014

Также убедитесь, что вы правильно установили переменные окружения TOMCAT_HOME и JAVA_HOME.

0 голосов
/ 17 ноября 2017

В моем случае у меня было несколько <Engine><Host>...</Host></Engine> разделов в моем context.xml, и мне приходилось копировать и вставлять <Realm className="org.apache.catalina.realm.LockOutRealm">...</Realm> в каждый <Engine>...</Engine> раздел, потому что у меня было развернуто приложение менеджера на каждом из этих хостов, которыебыли частью отдельного Engine.

Ответ @swapnil chaudhari об ограничении IP-адресов в META-INF/context.xml приложения также полезен, однако я нашел более полезным переопределить Context в моемserver.xml.

сервера. В конце концов, у меня есть что-то подобное для каждого из моих Engines:

    <Engine name="CatalinaMyUniqueEngine"
            defaultHost="MyUniqueHost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="MyUniqueHost"
            appBase="/opt/tomcat/webapps/MyUniqueHost"
            unpackWARs="true" autoDeploy="true">
        <Context path="/manager" privileged="true" antiResourceLocking="false"
                 docBase="manager">
          <!-- Wider allowance than the default.
               Or you can remove to allow all IPs, which probably isn't
               a good idea. -->
          <Valve className="org.apache.catalina.valves.RemoteAddrValve"
                 allow="127\.0\.0\.1|10\.244\.\d+.\d+" />
      </Host>
    </Engine>

docBase относительно appBase/opt/tomcat/webapps/MyUniqueHost у меня есть символическая ссылка на приложение менеджера, установленное менеджером пакетов моей системы (на основе Debian), которое поместило его в /usr/share/tomcat8-admin/manager.Эти символические ссылки позволяют мне использовать приложение менеджера во всех моих Hosts без копирования приложения менеджера.

0 голосов
/ 21 июня 2018

Просто добавьте некоторую информацию в ответ @ David:

Если вы похожи на меня и SFTP на хост с любым пользователем из группы, отличной от tomcat (например, root), и отредактируйте tomcat_users.xml с некоторымиуниверсальный редактор, такой как gedit или VS Code, группа файла будет изменена на пользователя, которого вы использовали (возможно, потому что был создан новый файл).Как показано ниже:

drwxr-x--- 2 root tomcat   4096 Jun 21 11:41 ./
drwxr-xr-x 9 root tomcat   4096 May 24 14:12 ../
-rw-r----- 1 root tomcat  13531 Apr 28 03:34 catalina.policy
-rw-r----- 1 root tomcat   7202 Apr 28 03:34 catalina.properties
-rw-r----- 1 root tomcat   1400 Apr 28 03:34 context.xml
-rw-r----- 1 root tomcat   1149 Apr 28 03:34 jaspic-providers.xml
-rw-r----- 1 root tomcat   2313 Apr 28 03:34 jaspic-providers.xsd
-rw-r----- 1 root tomcat   3850 Apr 28 03:34 logging.properties
-rw-r----- 1 root tomcat   7511 Apr 28 03:34 server.xml
-rw-r----- 1 root root     2342 Jun 21 11:41 tomcat-users.xml
-rw-r----- 1 root tomcat   2633 Apr 28 03:34 tomcat-users.xsd
-rw-r----- 1 root tomcat 170202 Apr 28 03:34 web.xml

Может быть, моя первоначальная настройка tomcat была немного случайной ... Но из-за описанного выше поведения tomcat потеряет доступ к отредактированному файлу.В результате получится 401 Unauthorized.

Существует несколько вариантов решения проблемы.Я не уверен, что какой-либо из них является наилучшей практикой.

  • Изменение разрешения после редактирования (да, конечно ...).
  • nano и WinSCP, похоже, нестрадать от этой проблемы.
  • SETGID: chmod g + s / conf_folder (не тестировался).
  • Подписаться на этот ответ
  • Возможно, редактор, которыйс учетом разрешений?
0 голосов
/ 23 июня 2015

Я пытался добавить имя пользователя как tomcat в tomcat-users.xml, который уже был ролью, и он не работал.Тогда я дал имя пользователя в качестве администратора для и он работал нормально .. :)

0 голосов
/ 14 мая 2019

Нижеследующее должно работать для «ванильной» установки (или архива zip / tar) - замените ваш 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="abc" password="xyz" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>
</tomcat-users>

Я столкнулся с подобной проблемой и все еще не смог войти в систему с помощью Google Chrome (версия 73.0.3683.103) по состоянию на 14.05.2009 10:30 CST, несмотря на многократную переустановку / настройку Google Chrome.

Я бы посоветовал попробовать другой браузер, такой как Firefox / IE и т. Д., Если вы столкнулись с этой проблемой, даже после того, как много поиграли с xmls.

0 голосов
/ 24 сентября 2015

отключение кота

Вставьте комментарии ниже полного содержимого в tomcat-users.xml и сохраните

Старт кота

Теперь постройте, это должно работать, я сделал для Windows OS с Jenkins и развертыванием git через tomcat7

<?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 roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script" password="admin" username="admin"/> </tomcat-users>
...