5

Apache の htpasswd コマンドを使用して、既にユーザー データベース ファイルを作成しています。このファイルは現在、Apache や Subversion などの他のいくつかのアプリケーションで使用されています。

のユーザーは次のように作成されます。

htpasswd /path/to/users.htpasswd peter

このユーザー ファイルはグローバルであり、ディレクトリごとではありません。

Tomcat 6 でこの同じファイルをセキュリティ レルムとして使用するにはどうすればよいですか?

4

3 に答える 3

3

htpasswd に最も似ているのはMemoryRealmかもしれません。簡単な使用例を見つけるのに苦労したので、ここに簡単なサンプルコードを投稿します。

  1. tomcat-users.xml でロール、ユーザー名、およびパスワードを設定します

  2. web.xml には次のようなものが含まれている必要があります。

       <security-constraint>
         <web-resource-collection>
          <web-resource-name> 
            My Protected WebSite 
          </web-resource-name>
          <url-pattern> /* </url-pattern>
          <http-method> GET </http-method>
          <http-method> POST </http-method>
        </web-resource-collection>
        <auth-constraint>
        <!-- the same like in your tomcat-users.conf file -->
          <role-name> test </role-name>
        </auth-constraint>
      </security-constraint>
       <login-config>
        <auth-method> BASIC </auth-method>
        <realm-name>  Basic Authentication </realm-name>
      </login-config>
      <security-role>
        <description> Test role </description>
        <role-name> test </role-name>
      </security-role>
    
  3. これを server.xml ファイルに追加します。

    <Realm className="org.apache.catalina.realm.MemoryRealm"></Realm>
    
于 2010-02-08T07:27:28.467 に答える
2

2つのオプションがあります。

  1. (mod_jkまたはmod_proxy_ajpのいずれかを使用して)TomcatのフロントエンドとしてApacheを使用し、Apacheが認証を行います。これを行う方法の詳細については、こちらをご覧ください。

  2. Tomcatに認証を実行させたい場合は、htpasswdファイル以外のものを使用する必要があります。ユーザーの資格情報を保存するには、データベース、JNDI / LDAP、XMLファイル、またはJAASプロバイダーを使用する4つの方法があります。レルム構成HOW-TOのすべてのオプションについて読むことができます。

于 2009-04-02T15:01:21.390 に答える