Tomcat 7 Manager не может войти
Попытка войти, но не могу. Мой 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 ответов
Удалить пробелы между ролями для администратора / администратора. Список должен быть просто разделен запятыми так:
<?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>
У меня была та же проблема, но для меня причиной был файл 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 указан правильно.
Вам также нужно перезапустить Tomcat после внесения изменений в tomcat-users.xml
или же server.xml
, context.xml
или же web.xml
чтобы изменения были эффективными.
В моем случае проблема была в том, что я не перезагружал Tomcat после внесения изменений. Также на Tomcat 7 я назначил manager-script
, manager-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" />
Проверьте разрешения и права собственности на файл '/etc/tomcat7/tomcat-users.xml'. Он должен принадлежать пользователю root, а владельцем группы должно быть tomcat7.
-rw-r ----- 1 root tomcat7 2101 22 января 10:34 tomcat-users.xml
Это на Ubuntu 14.04.3 LTS, YMMV
У меня были некоторые проблемы с менеджером доступа Tomcat(v8.0) в составе среды IDE NetBeans (v8.2) под Windows 10.
Фактический файл tomcat-users.xml для добавления пар пользователя и пароля gui-manager находится по адресу 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 и снова попробовать менеджер доступа.
Ubuntu Server 14.04.3 tomcat7 установлен из репозитория
Для меня сработало удаление определений ролей из файла tomcat-users.xml. и затем перезапуск кота.
мой файл теперь выглядит так:
<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, но не говорят вам, чтобы определить роль "manager-gui"
Итак, если у вас ничего не работает, проверьте, что здесь
Я испортил свой server.xml со следующей строкой
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="jdbc/myapp"/>
Что здесь всегда должно быть
resourceName="UserDatabase"
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
Я ошибочно подумал, что это связано с моей базой данных приложений, и настроил ее. Это база данных пользователей tomcat, а не база данных, которая у вас есть для вашего приложения.