2013-02-23 16 views
15

tomcat managerのアプリにログインしようとしていますが、tomcat-users.xmlにログインユーザーを正常に作成できません。 初期コンテンツは、このでした:Tomcat 7 Manager - 認証方法は?

<?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を読むに私はこのようなものの結果なしでファイルを変更しました。

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

tomcatを再起動してみてください。時々役立ちます。 – Kapep

+0

私は同じ結果をサービスを再開しました。 :( –

+1

@JackWillsonこのリストはコンマ区切りでなければならないので、adminの役割の間にはスペースを入れてはいけないので、以前の答えは間違っています。

答えて

23

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

​​
+1

ここで指摘されているようにhttp ://stackoverflow.com/questions/18746195/tomcat-7-manager-cant-login)これは以下のようにする必要がありますので、ロール間にスペースがあってはいけません。

5

あなたはので、クロスサイトスクリプティング保護を損なうことの、マネージャー・スクリプトまたは-jmx役割とマネージャー-guiの役割を組み合わせるべきではありません。最後のマネージャロールは、GUIの役割のように保護することはできません。

8

受け入れられた答えは間違っていますが、非常に重大なものです。adminの役割の間にはスペースを入れてはいけません。このリストはコンマ区切りにする必要があります(ここでは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> 
0

この機能にアクセスするには、マネージャロールを追加してください。tomcat-users.xml apache-tomcat-7.0.56-windows-x64\apache-tomcat-7.0.56\confウィンドウが開いている場合。 <role rolename= >行を検索してください。これはひどくコメントされます。このコードを追加:

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

https://tomcat.apache.org/tomcat-7から0-doc/manager-howto.html "manager-guiロールを持つユーザには、manager-scriptまたはmanager-jmxロールを決して与えないことを推奨します。 – gliptak

2

confフォルダのserver.xmlにデータベースレルムを設定しましたか?デフォルトのserver.xmlにはUserDatabaseリソースが既に設定されていますので、tomcat-user xmlの設定にかかわらず変更した場合、認証することはできません。

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

+0

これは私にとっては問題でしたが、tomcat-users.xmlの変更を試した後に同じ認証の問題がある場合、sserver xmlが変更されていてこれが見つからない場合、これを試して! – RMSTOKES

関連する問題