18

Tomcat Manager アプリにログインしようとしていますが、tomcat-users.xml でログイン ユーザーを正常に作成できません。最初の内容は次のとおりでした。

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

公式ページを読んで、このようにファイルを変更しましたが、結果はありませんでした。

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

5 に答える 5

31

これが正しい構成のようです。役割をスペースで区切らないように注意してください。

<?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>
于 2013-02-23T18:03:08.433 に答える
9

受け入れられた回答は 1 つの詳細で間違っていますが、非常に重要な点です。このリストはカンマで区切る必要があるため、管理者のロール間にスペースを入れてはなりません ( Tomcat 7 Manager can't loginで指摘されているように)。私はちょうど同じ問題を抱えていて、同じ方法で解決しました。

したがって、これの代わりに(いくつかの回答で示唆されているように:

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

次のようにする必要があります。

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

したがって、全体としては次のようになります。

<?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>
于 2014-06-09T10:52:04.363 に答える
6

クロス サイト スクリプティングの保護が損なわれるため、manager-gui ロールを manager-script または -jmx ロールと組み合わせないでください。最後のマネージャー ロールは、gui ロールのように保護できません。

于 2013-07-31T14:10:38.523 に答える
2

conf フォルダーの server.xml でデータベース レルムを構成しましたか? デフォルトの server.xml には UserDatabase リソースがすでに設定されているため、それを変更すると、tomcat-user xml をどのように設定しても認証できなくなります。

conf/server.xml ファイルで... GlobalNamingResource タグで Resource を定義して MemoryUserDatabaseFactory を使用し、エンジン内で Realm を定義して UserDatabaseRealm を使用します。元の server.xml (私は tomcat 7.0.62 を使用しています) を開いてこれらの名前を検索すると、構成が表示されます。アプリとニーズに応じて、追加の変更が必要になる場合があります。

于 2015-09-18T18:43:11.843 に答える
0

この機能にアクセスするには、マネージャー ロールのユーザーを追加する必要があります。この編集tomcat-users.xmlファイル についてapache-tomcat-7.0.56-windows-x64\apache-tomcat-7.0.56\confは、Windows を使用している場合。ラインを検索し<role rolename= >ます。これはおそらくコメントされます。このコードを追加してください:-

<role rolename="manager-gui"/>
<user username="your-user-name" password="your-password" roles="manager-gui,manager-script"/>
于 2014-12-09T05:34:22.463 に答える