6

「有効なユーザー」(レルムで有効なログインとパスワードを持つユーザー) のみがアクセスできるように、Tomcat のリソースを保護しようとしています。それらは、必ずしもレルム内のグループに属しているとは限りません。<security-constraint>ディレクティブの多くの組み合わせを試しましたが、成功しませんでした。何か案は?

4

3 に答える 3

12

auth-constraint に加えて、security-constraint に追加します。

   <auth-constraint>
       <role-name>*</role-name>
   </auth-constraint>

Web アプリでセキュリティ ロールを指定する必要があります。

    <security-role>
        <role-name>*</role-name>
    </security-role>
于 2010-05-12T17:06:00.513 に答える
1

tomcat には、メモリ、データベース、JAAS など、いくつかのレルム実装があります。最も簡単に構成できるのは (最も安全ではありませんが) メモリ 1 で、通常は conf/tomcat-users.xml の下に単一の XML ファイルが含まれています。

<tomcat-users>
  <user name="tomcat" password="tomcat" roles="tomcat" />
  <user name="role1"  password="tomcat" roles="role1"  />
  <user name="both"   password="tomcat" roles="tomcat,role1" />
</tomcat-users>

レルム構成は、次のように、コンテキスト、ホストまたはエンジン構成の下にあります。

<Realm className="org.apache.catalina.realm.MemoryRealm"
       pathname="conf/tomcat-users.xml" />

次に、web.xml に次の定義を入れます。

    <security-constraint>
            <web-resource-collection>
                    <web-resource-name>MRC Customer Care</web-resource-name>
                    <url-pattern>/protected/*</url-pattern>
            </web-resource-collection>
            <auth-constraint>
                    <role-name>role1</role-name>
            </auth-constraint>
    </security-constraint>

    <!-- Define the Login Configuration for this Application -->
    <login-config>
            <auth-method>DIGEST</auth-method>
            <realm-name>YOUR REALM NAME</realm-name>
    </login-config>

    <security-role>
            <description>
              The role that is required to access the application. 
              Should be on from the realm (the tomcat-users.xml file).
            </description>
            <role-name>role1</role-name>                  
    </security-role>

web.xml の部分は、当社の Web アプリの 1 つから (わずかな変更を加えて) 取得されます。

于 2009-07-07T19:11:22.130 に答える