web-dev-qa-db-ja.com

Tomcat Managerアプリにログインできません

私は自分の問題を解決するために、stackoverflowで多くのトピックを読みましたが、どれも役に立ちませんでした。

多くの異なる設定を使用してManager App([http:// localhost:8080/manager/html] [1])にログインしようとしたが、ログを記録した後、常に401 Unauthorizedを取得した権利資格情報を使用する際に。 Tomcatサーバーを数回再起動しました。

これがconf/Tomcat-users.xmlの最後の設定です

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

これは、server.xmlのTomcat-usersに関連する部分です

 <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <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" />
  </GlobalNamingResources>

これは私の設定です:Apache Tomcat:バージョン7.0.40 64ビットテスト済みChrome 26

私が忘れていた何か他に有用なものがあれば、知らせてください。前もって感謝します

12
giaffa86

テーリング[Tomcat-root] /logs/catalina.outから、ロックされたユーザー名を使用していることがわかりました"admin"

06-May-2014 16:47:41.828 WARNING [http-nio-192.168.0.51-8080-exec-6] org.Apache.catalina.realm.LockOutRealm.authenticate An attempt was made to authenticate the locked user "admin"

より良い(推測できない)ユーザー名で試してください。

<role rolename="manager-gui"/>
<user username="TomcatAdmin" password="secpa55wd" roles="manager-gui"/>

これは間違いなくあなたのために働くはずです。

19
aspdeepak

構成は私には問題ありません。以下でお試しいただけますかtomcat-users.xml

<Tomcat-users>
  <user name="admin" password="admin" roles="admin-gui,manager-gui" />
</Tomcat-users>

変更後、サーバーを再起動してください。

2
amicngh

構文と開始終了タグを確認してください。 Javaの作業を始めたとき、私は愚かな間違いをしました。このラインは私のために働いていました。

<?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"/>
      <role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
</Tomcat-users>
1
hardik patel

上記の解決策はおそらくあなたの問題を解決しました。ロックされたユーザーの解決策は私の問題を助長しました。

私が気付いた奇妙な何か...それがどうやって起こったのか分からない。

新しいTomcat7をインストールした後、ユーザーrootとグループrootが所有する "Tomcat-users.xml"ファイルができました。

Catalina.outに「javax.naming.NamingException:/var/lib/Tomcat7/conf/Tomcat-users.xml(Permission denied)」のような数行が含まれていることがわかりました

ファイルの所有権をユーザー「root」とグループ「Tomcat7」に変更した後、ログインの問題が修正されました。

1

他の回答のいずれかを試しても違いがない場合は、(Tomcatをクリーンアップ)してから再試行する必要があります。これらは私のきれいなコマンドです(それらがどれほど一般的であるかわかりません):

rm -R $Tomcat_HOME/work/Catalina/<Host>/*
rm -rf $Tomcat_HOME/webapps/<app name>
1
cellepo

私の場合、パスワードに特殊文字が含まれていたため、/opt/Tomcat/conf/Tomcat-users.xmlファイルに追加する前にXMLエンコードする必要がありました。

エンコーディングに使用したツールは https://coderstoolbox.net/string/#!encoding=xml&action=encode&charset=us_ascii でした

0
user000001

また、編集しているTomcat-users.xmlが実際に実行しているTomcatのインスタンスに対応していることを確認してください。複数のインストールがあり、1つしか実行されていない場合は、正しい場所でファイルを編集していることを確認してください。

Startup.bat(またはstartup.sh)を実行すると、スクリプトはCATALINA_ *環境変数を出力します。パスが実行中の現在の作業ディレクトリと一致する場合は、間違ったTomcat-users.xmlファイルを編集しているのは間違いありません。

0
Travis Green