2013-02-23 16 views
15

Próbuję zalogować się do aplikacji Menedżer Tomcat, ale nie mogę pomyślnie utworzyć użytkownika logowania w tomcat-users.xml. Początkowa zawartość była ta:Tomcat 7 Manager - jak dokonać uwierzytelnienia?

<?xml version="1.0" encoding="UTF-8"?> 
<!-- 
    Licensed to the Apache Software Foundation (ASF) under one or more 
    contributor license agreements. See the NOTICE file distributed with 
    this work for additional information regarding copyright ownership. 
    The ASF licenses this file to You under the Apache License, Version 2.0 
    (the "License"); you may not use this file except in compliance with 
    the License. You may obtain a copy of the License at 

     http://www.apache.org/licenses/LICENSE-2.0 

    Unless required by applicable law or agreed to in writing, software 
    distributed under the License is distributed on an "AS IS" BASIS, 
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
    See the License for the specific language governing permissions and 
    limitations under the License. 
--><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. 
--> 
<!-- 
    <role rolename="tomcat"/> 
    <role rolename="role1"/> 
    <user username="tomcat" password="tomcat" roles="tomcat"/> 
    <user username="both" password="tomcat" roles="tomcat,role1"/> 
    <user username="role1" password="tomcat" roles="role1"/> 
--> 
</tomcat-users> 

Reading on the official page i zmodyfikowany plik tak, ale bez rezultatu.

<?xml version="1.0" encoding="utf-8"?> 
<tomcat-users> 
    <role rolename="manager-gui"/> 
    <role rolename="manager-status"/> 
    <role rolename="manager-script"/> 
    <role rolename="manager-jmx"/> 
    <user username="admin" password="admin" roles="manager-gui"/> 
</tomcat-users> 
+0

Spróbuj uruchomić ponownie kocur, czasami pomaga. – Kapep

+0

Uruchomiłem ponownie usługę, ten sam wynik. :( –

+1

@JackWillson Poprzednia odpowiedź jest błędna, ponieważ nie powinno być żadnych spacji między rolami dla administratora, ponieważ ta lista powinna być oddzielona przecinkiem MUSI wyglądać tak:

Odpowiedz

23

Wygląda na to, że jest to poprawna konfiguracja. Uważaj, aby nie oddzielać ról od spacji!

<?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> 
+1

Jak wskazano tutaj (http : //stackoverflow.com/questions/18746195/tomcat-7-manager-cant-login) NIE MOGĄ BYĆ DOWOLNYMI PRZESTRZEŃMI między rolami, więc powinno to wyglądać tak:

5

Nie należy łączyć role menedżera-gui z menedżerem skryptu lub -jmx ról, z powodu pogorszenia ochrony Cross Site Scripting. Ostatnie role menedżerów nie mogą być chronione jak rola gui.

8

Przyjęta odpowiedź jest błędna w jednym szczególe, ale BARDZO ważna - nie powinno być żadnych spacji między rolami dla administratora, ponieważ ta lista powinna być rozdzielana przecinkami (jak wskazano tutaj Tomcat 7 Manager can't login). Po prostu miałem ten sam problem i rozwiązałem go w ten sam sposób.

Tak, to (a nie jak sugerowano w niektórych odpowiedzi:

<user username="admin" password="admin" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/> 

musi być tak:

<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/> 

Więc w sumie powinno to wyglądać tak:

<?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> 
0

Dodano użytkownika do roli menedżera, aby uzyskać dostęp do tej funkcji. Do edycji pliku tomcat-users.xml pod adresem apache-tomcat-7.0.56-windows-x64\apache-tomcat-7.0.56\conf jeśli jesteś w systemie Windows. Wyszukaj linię <role rolename= >. Zostanie to prawdopodobnie skomentowane. Dodaj ten kod: -

<role rolename="manager-gui"/> 
<user username="your-user-name" password="your-password" roles="manager-gui,manager-script"/> 
+0

Ze strony https://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html "Zaleca się, aby nie udzielać ról menedżera-skryptu lub menedżera-jmx użytkownikom, którzy pełnią rolę menedżera-gui." – gliptak

2

Czy skonfigurowany sferę bazy danych w server.xml w folderze conf? Domyślny plik server.xml ma już skonfigurowany zasób UserDatabase, więc jeśli to zmienisz, to bez względu na to, jak skonfigurujesz xml tomcat-user, nie będziesz mógł się uwierzytelnić.

W pliku conf/server.xml ... w tagu GlobalNamingResource zdefiniowanie źródła danych użyć MemoryUserDatabaseFactory i wewnątrz silnika zdefiniowanie Realm używać UserDatabaseRealm. Po prostu otwórz oryginalny plik server.xml (korzystam z tomcat 7.0.62) i wyszukaj te nazwy, a zobaczysz konfiguracje. Na podstawie Twojej aplikacji i potrzeb może być konieczne wprowadzenie dodatkowych zmian.

+0

to był dla mnie problem, żadne zmiany w użytkownikach tomcat nie sprawią różnicy, jak Denise mówi, czy plik xml sserver został zmodyfikowany i brakuje tego - jeśli masz ten sam problem z uwierzytelnieniem po próbie sugerowanych zmian tomcat-users.xml Spróbuj tego! – RMSTOKES

Powiązane problemy