14

問題を解決するためにスタックオーバーフローで多くのトピックを読みましたが、どれも役に立ちませんでした。

Manager アプリ ([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 でテスト済み

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

4

11 に答える 11

24

[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"/>

これは間違いなくうまくいくはずです。

于 2014-05-06T13:59:31.087 に答える
1

構成は私にとっては問題ないようです。以下の tomacat-users.xmlを試してみてください。

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

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

于 2013-05-21T14:05:50.233 に答える
1

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

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

于 2018-03-14T15:30:23.450 に答える
0

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

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

于 2017-12-16T15:30:01.927 に答える