2013-02-23 3 views
15

Ich versuche, mich in Tomcat Manager App einzuloggen, aber ich kann keinen Login-Benutzer in der tomcat-users.xml erfolgreich erstellen. Der anfängliche Inhalt war:Tomcat 7 Manager - wie authentifizieren?

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

on the official page Lesen geändert ich die Datei wie diese aber ohne Ergebnis.

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

Versuchen Sie Tomcat neu zu starten, es hilft manchmal. – Kapep

+0

Ich habe den Dienst neu gestartet, dasselbe Ergebnis. :( –

+1

@JackWillson Vorherige Antwort ist falsch, da es keine Leerzeichen zwischen den Rollen für Admin geben sollte, da diese Liste durch Komma getrennt sein sollte, muss es so aussehen:

Antwort

23

Es scheint, dies ist die richtige Konfiguration. Achten Sie darauf, Rollen nicht mit Leerzeichen zu trennen!

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

Wie hier hingewiesen (http : //stackoverflow.com/questions/18746195/tomcat-7-manager-cant-login) Es darf KEINE SPACES zwischen den Rollen geben, daher sollte dies so aussehen:

5

Sie sollen die Manager-gui Rollen mit dem Manager-Skript oder -jmx Rollen kombinieren, weil der Cross-Site-Scripting-Schutz zu beeinträchtigen. Die letzten Managerrollen können nicht wie die GUI-Rolle geschützt werden.

8

Akzeptierte Antwort ist falsch in einem Detail, aber sehr wichtig - es sollte keine Leerzeichen zwischen den Rollen für Admin, wie diese Liste sollte Komma getrennt sein (wie hier Tomcat 7 Manager can't login hingewiesen). Ich hatte gerade das gleiche Problem und löste es auf die gleiche Weise.

Anstatt also diese (wie in einigen Antworten vorgeschlagen:

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

es muss so sein:

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

So insgesamt sollte es so aussehen:

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

Sie verfügen über den Benutzer "add manager role", um auf diese Funktion zuzugreifen. Bearbeiten Sie dazu die Datei tomcat-users.xml unter apache-tomcat-7.0.56-windows-x64\apache-tomcat-7.0.56\conf wenn Sie auf Windows sind. Suchen Sie nach <role rolename= > Zeile. Dies wird wahrscheinlich kommentiert. Fügen Sie diesen Code hinzu: -

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

Von https://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html "Es wird empfohlen, die manager-script- oder manager-jmx-Rollen niemals Benutzern zu erteilen, die die manager-gui-Rolle haben." – gliptak

2

Haben Sie Ihren Datenbankbereich in der Datei server.xml im Ordner conf konfiguriert? Die standardmäßige server.xml hat die UserDatabase-Ressource bereits eingerichtet. Wenn Sie diese geändert haben, können Sie sich unabhängig von der Einrichtung von tomcat-user xml nicht authentifizieren.

In der Datei conf/server.xml ... Im Tag GlobalNamingResource definieren Sie eine Ressource für die Verwendung von MemoryUserDatabaseFactory und definieren in Ihrer Engine einen Realm, um UserDatabaseRealm zu verwenden. Öffnen Sie einfach die ursprüngliche server.xml (ich verwende Tomcat 7.0.62) und suchen Sie nach diesen Namen und Sie sehen die Konfigurationen. Abhängig von Ihrer App und Ihren Anforderungen müssen Sie möglicherweise weitere Änderungen vornehmen.

+0

Das war das Problem für mich, keine Änderungen an tomcat-Benutzern werden einen Unterschied machen wie Denise sagt, wenn das sserver xml geändert wurde und dies fehlt - wenn Sie das gleiche Authentifizierungsproblem nach dem Versuch haben, die tomcat-users.xml Änderungen vorgeschlagen Versuche dies! – RMSTOKES