ti-enxame.com

Tomcat 7 Manager - como autenticar?

Estou tentando fazer login no aplicativo gerenciador Tomcat mas não consigo criar com êxito um usuário de login no Tomcat-users.xml. O conteúdo inicial era este:

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

Lendo na página oficial i modifiquei o arquivo como este mas sem resultado.

<?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>
18
Jack Willson

Parece que esta é a configuração correta. Cuidado para não separar papéis com espaços!

<?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>
27
Jack Willson

A resposta aceita está errada em um detalhe, mas muito importante - não deve haver qualquer espaço entre as funções do administrador, pois essa lista deve ser separada por vírgulas (como apontado aqui o Tomcat 7 Manager não pode logar ). Eu apenas tive o mesmo problema e resolvi da mesma maneira.

Então, ao invés disso (como sugerido em algumas respostas:

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

deve ser assim:

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

Então, tudo deve ficar assim:

<?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>
8
Nenad Bulatovic

Você não deve combinar as funções manager-gui com as funções manager-script ou -jmx, por comprometer a proteção Cross Site Scripting. As últimas funções de gerente não podem ser protegidas como o papel gui.

6
Tilman

Você configurou sua região do banco de dados no server.xml na pasta conf? O server.xml padrão tem o recurso UserDatabase já configurado, portanto, se você tiver alterado isso, não importa como você configura o xml do usuário do Tomcat, você não poderá autenticar.

No arquivo conf/server.xml ... Na tag GlobalNamingResource, defina um Recurso para usar MemoryUserDatabaseFactory e, em seu mecanismo, defina um Domínio para usar UserDatabaseRealm. Basta abrir o server.xml original (estou usando o Tomcat 7.0.62) e procurar por esses nomes e você verá as configurações. Com base no seu aplicativo e nas necessidades, talvez você precise fazer alterações adicionais.

2
Denise

Você pode adicionar o usuário da função de gerente para acessar esse recurso. Para isso edite o arquivo Tomcat-users.xml em Apache-Tomcat-7.0.56-windows-x64\Apache-Tomcat-7.0.56\conf se você estiver no Windows. Pesquise a linha <role rolename= >. Isso provavelmente será comentado. Adicione este código: -

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