401 erreur non autorisée lors de la connexion à Manager-App de Tomcat

j'essaie de me connecter à L'Application Manager dans Tomcat 7.0.22 pour Mac OS X 10.7. Voici l'erreur que j'obtiens: 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"/>

j'ai ajouté ceci dans mon tomcat-users.xml, il ne prend toujours pas le même nom d'utilisateur/mot de passe.

<tomcat-users>
<role rolename="manager-gui"/>
<user name="tomcat" password="s3cret" roles="standard,manager-gui"/>
</tomcat-users>
20
demandé sur Ava 2011-10-14 09:47:46

19 réponses

Désolé, je dois demander l'évidence: avez-vous redémarré Tomcat?

Si cela ne fonctionne pas, essayez d'ajouter "admin-gui" à vos rôles:

<user name="tomcat" password="s3cret" roles="admin-gui,standard,manager-gui"/>
13
répondu Mohamad 2011-10-14 05:50:07

OK, j'ai eu cette erreur aussi. Impossible de trouver le bug, impossible de trouver le bug, impossible de trouver le bug. Mon bloc "tomcat-users" ressemblait à ça.

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

A FINALEMENT TROUVÉ LE BUG. J'ai continué à éditer le XML à l'intérieur de le bloc de commentaire XML:

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

DOH!

Donc: ne pas oublier d'enlever le " " .

20
répondu Dan H 2012-06-12 20:46:47

j'ai également rencontré ce problème. Le contenu de mes utilisateurs tomcat.xml est correct, mais le fichier n'était pas lisible par Tomcat. J'ai changé le groupe du fichier en tomcat7, redémarré Tomcat, et voilà!

voici le contenu de mon tomcat-utilisateurs.xml:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <user username="admin" password="admin" roles="manager-gui, admin-gui" />
</tomcat-users>
6
répondu David 2014-03-26 02:06:18

pour plus de clarté, voici les rôles que vous devez ajouter à votre conf/tomcat-users.xml à partir de Tomcat 7.x. Si vous voulez garder les commentaires que vous pouvez, mais c'est tout ce dont vous avez besoin (pour vous connecter avec admin/admin) dans le fichier:

<?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>
4
répondu MattC 2012-10-22 15:32:35

vérifiez les lignes exactes du serveur.XML

  <Realm className="org.apache.catalina.realm.LockOutRealm">
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
           resourceName="UserDatabase"/>
  </Realm>

Navdeep

2
répondu navdeep 2017-01-09 18:32:11

il est peu probable que quelqu'un ait fait la même erreur que moi, mais si vous avez plusieurs versions de tomcat (ou si vous avez trafiqué l'installation et que vous avez des fichiers à nettoyer) assurez-vous que vous êtes dans le bon dossier.

je regardais le fichier de configuration C:\tomcat7 mais le vrai Tomcat qui courait était dans C:\Program fichiers\Apache Software Foundation\Tomcat 7.0\

1
répondu n00b 2013-07-29 19:42:33

si vous êtes à Tomcat 8, vous manquez peut-être le suivant. J'ai lutté avec pendant un certain temps. Après la mise à jour des utilisateurs Realms et tomcat.xml, vous devez également éditer le contexte apps.xml aussi.

" par défaut, les nouvelles versions de Tomcat limitent l'accès aux applications Manager et Host Manager aux connexions provenant du serveur lui-même. Puisque nous installons sur une machine distante, vous voudrez probablement supprimer ou modifier cette restriction. Pour changer la PI adressez les restrictions sur celles-ci, ouvrez le contexte approprié.des fichiers xml."

Pour l'application Gestionnaire -

/webapps/manager/META-INF/context.xml

Pour l'Hôte du Gestionnaire d'application -

/opt/tomcat/webapps/host-manager/META-INF/context.xml

ajouter la section suivante pour la soupape comme suit -

<Context antiResourceLocking="false" privileged="true" > <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />--> </Context>

vous devriez être allset après cela.

1
répondu swapnil chaudhari 2016-10-25 17:29:25

j'ai eu exactement la même erreur et il n'a commencé à fonctionner qu'après que j'ai changé le port du connecteur de 8080 à 8081.

0
répondu autremoi 2012-06-01 20:40:20

assurez-vous également que vous avez défini TOMCAT_HOME ainsi que les variables D'environnement JAVA_HOME correctement.

0
répondu TenLeftFingers 2014-09-04 14:06:33

j'ai dû décommenter ceci dans le serveur.xml:

    <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="conf/tomcat-users.xml" />

je pensais que je nettoyais juste la configuration d'une source de données d'exemple, mais j'avais tort :)

0
répondu sp0gg 2015-08-05 23:27:01

sous windows, j'ai eu une variable D'environnement CATALINA_HOME définie pour une autre installation tomcat, de sorte que cela indiquait même si j'utilisais le script de démarrage dans le nouveau dossier d'installation. Donc supprimer CATALINA_HOME a résolu le problème pour moi.

0
répondu Richhard 2015-12-08 12:59:00

j'ai eu la même erreur puis j'ai changé le mot de passe dans les utilisateurs.XML. Il a résolu. Si vous utilisez des caractères spéciaux comme &. Il ne fonctionne pas. Le supprimer.

0
répondu gencaysahinn 2017-01-26 07:32:53

changer le port de 8080 à 8088 dans server.xml a fonctionné pour moi.Référez - vous au code ci-dessous

<Connector port="8088" protocol="HTTP/1.1" 
connectionTimeout="20000"
redirectPort="8443" />
0
répondu ajinkya 2017-10-01 16:01:51

dans mon cas, j'avais plusieurs sections <Engine><Host>...</Host></Engine> dans mon context.xml et j'ai dû copier et coller le <Realm className="org.apache.catalina.realm.LockOutRealm">...</Realm> dans chaque section <Engine>...</Engine> parce que j'ai déployé l'Application manager dans chacun de ces hôtes qui faisaient partie d'un Engine séparé .

la réponse de @swapnil chaudhari à propos de la restriction D'adresse IP dans l'application META-INF/context.xml est également utile, mais j'ai trouvé qu'il était plus avantageux de passer outre le Context dans le server.xml .

à la fin, j'ai quelque chose comme ça pour chacun de mes 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 est relatif à appBase . Dans /opt/tomcat/webapps/MyUniqueHost , j'ai un lien symbolique vers l'application manager installée par le gestionnaire de paquets de mon système (basé sur Debian), qui l'a placée à /usr/share/tomcat8-admin/manager . Ces liens symboliques me permettent d'utiliser l'Application manager dans tout mon Hosts sans copier l'application manager.

0
répondu acker9 2017-11-16 23:31:14

Vérifiez votre navigateur.

j'exécutais tomcat localement sur Windows, et j'essayais de me connecter en utilisant Chrome. Aucune des suggestions ci-dessus ne semblait fonctionner. Enfin sur un coup de tête, J'ai essayé Firefox et j'ai eu l'invite de connexion! J'ai redémarré Chrome et essayé à nouveau, et toujours rien. Il semble que notre Politique de réseau visse avec Chrome-bloquant probablement le dialogue popup login.

0
répondu Greg 2018-06-22 15:57:59

juste pour ajouter quelques informations sur la réponse de @David:

si vous êtes comme moi et SFTP pour l'hôte avec n'importe quel utilisateur sous un groupe autre que tomcat (par exemple root) et éditez tomcat_users.xml avec un éditeur générique comme gedit ou VS Code, le groupe du fichier sera changé à l'utilisateur que vous avez utilisé (probablement parce qu'un nouveau fichier a été créé). Comme ci-dessous:

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

peut-être que mon installation initiale de tomcat était un peu désinvolte... Mais avec ce qui précède comportement, tomcat perdra l'accès au fichier édité. Il en résulterait 401 cas non autorisés.

Il y a un certain nombre d'options pour contourner le problème. Je ne suis pas sûr que l'un d'eux soit la meilleure pratique.

  • modifier la permission après l'édition (Oui, bien sûr...).
  • nano et WinSCP ne semblent pas souffrir de la question.
  • SETGID: chmod g+s / conf_folder (non testé).
  • Suivre cette réponse
  • peut-être un éditeur qui est conscient de la permission?
0
répondu Carl Chang 2018-07-30 02:51:06

j'ai essayé d'ajouter un nom d'utilisateur comme tomcat dans tomcat-users.xml qui était déjà un rôle et qui ne fonctionnait pas. Puis j'ai donné le nom d'utilisateur en tant qu'administrateur et ça a bien fonctionné..:)

-1
répondu Sruthy Raj 2015-06-23 16:56:07

Arrêt de tomcat

coller ci-dessous commente le contenu complet dans tomcat-utilisateurs.xml et enregistrer

démarrer tomcat

maintenant, construisez-le devrait fonctionner, je l'ai fait pour windows OS avec Jenkins et déploiement git via 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>
-1
répondu user5371337 2015-09-24 09:34:22

j'utilisais un mot de passe complexe avec beaucoup de caractères impairs. Renvoie le mot de passe normal et ça a bien marché.

-1
répondu Dean 2016-06-22 10:25:58