私は自分の問題を解決するために、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
私が忘れていた何か他に有用なものがあれば、知らせてください。前もって感謝します
テーリング[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"/>
これは間違いなくあなたのために働くはずです。
構成は私には問題ありません。以下でお試しいただけますかtomcat-users.xml。
<Tomcat-users>
<user name="admin" password="admin" roles="admin-gui,manager-gui" />
</Tomcat-users>
変更後、サーバーを再起動してください。
構文と開始終了タグを確認してください。 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>
上記の解決策はおそらくあなたの問題を解決しました。ロックされたユーザーの解決策は私の問題を助長しました。
私が気付いた奇妙な何か...それがどうやって起こったのか分からない。
新しいTomcat7をインストールした後、ユーザーrootとグループrootが所有する "Tomcat-users.xml"ファイルができました。
Catalina.outに「javax.naming.NamingException:/var/lib/Tomcat7/conf/Tomcat-users.xml(Permission denied)」のような数行が含まれていることがわかりました
ファイルの所有権をユーザー「root」とグループ「Tomcat7」に変更した後、ログインの問題が修正されました。
他の回答のいずれかを試しても違いがない場合は、(Tomcatをクリーンアップ)してから再試行する必要があります。これらは私のきれいなコマンドです(それらがどれほど一般的であるかわかりません):
rm -R $Tomcat_HOME/work/Catalina/<Host>/*
rm -rf $Tomcat_HOME/webapps/<app name>
私の場合、パスワードに特殊文字が含まれていたため、/opt/Tomcat/conf/Tomcat-users.xml
ファイルに追加する前にXMLエンコードする必要がありました。
エンコーディングに使用したツールは https://coderstoolbox.net/string/#!encoding=xml&action=encode&charset=us_ascii でした
また、編集しているTomcat-users.xmlが実際に実行しているTomcatのインスタンスに対応していることを確認してください。複数のインストールがあり、1つしか実行されていない場合は、正しい場所でファイルを編集していることを確認してください。
Startup.bat(またはstartup.sh)を実行すると、スクリプトはCATALINA_ *環境変数を出力します。パスが実行中の現在の作業ディレクトリと一致する場合は、間違ったTomcat-users.xmlファイルを編集しているのは間違いありません。