12

Tomcat 7 tomcat-users.xmlファイルでは、<role />タグによってどのような目的が提供されますか?

Tomcat 7 の XAMPP インスタンスの場合、Tomcat Web Application ManagerTomcat Virtual Host Managerの両方にアクセスできるようにtomcat-users.xmlファイルを構成する方法を見つけました。より具体的には、以下により前述のアクセスが可能になります。

<tomcat-users>
  <user username="uname" password="pword" roles="manager-gui,admin-gui"/>
</tomcat-users>

この成功した XML のスニペットに含まれていないのは<role />タグであることに注意してください。それが私の質問の要点です。ロールタグがどのような目的で使用されるのか、一生わからないのです。

アクセスを構成する方法を学ぶために、私はたくさんのドキュメントとフォーラムの投稿を読みましたが、それらはすべて循環しているように見えます:ロールを定義することはできますが、ロール自体は有用なものを定義していないようです(? )

たとえば、これはtomcat-users.xmlファイルと、ロールの使用を「説明」している多数のフォーラム投稿の両方で繰り返し使用されている図です。

<tomcat-users>
  <role rolename="tomcat"/>
  <user username="uname" password="pword" roles="tomcat"/>
</tomcat-users>

さて、この「説明」では、role要素はtomcatに等しいrolename属性を定義し、次にuser要素には、ユーザーの役割をtomcatとして定義するroles属性が含まれます。ポイントは何ですか?

role要素でrolename属性がtomcatを定義することを考えると、別の方法で尋ねられた場合、roles=tomcatは正確に何をしますか? 特に私の作業中のユーザー定義と比較してmanager-guiadmin-guiは、 Tomcat Web Application ManagerTomcat Virtual Host Managerへのアクセスを有効にする役割を定義します。

乾杯と感謝、
ライリー
SFO

4

3 に答える 3

3

私が理解していることから、ロールを定義する(できる):

  • たとえば、説明を追加するなど、柔軟性が向上するためです。GUI はこの情報を使用できます。

    <role rolename="customer" description="Customer of Java WebService"/>
    
  • 後で特定のサーブレットで役割を再マップまたはグループ化できます

    <security-role-ref>
        <role-name>cust</role-name>
        <role-link>bankCustomer</role-link>
    </security-role-ref> 
    

私は Tomcat の専門家ではないので、真の専門家がこの回答を改善できることを願っています。

于 2013-11-26T15:57:33.227 に答える
3

<role .../>in 要素の使用tomcat-users.xmlはオプションです。Tomcat は、<role .../>要素から、およびroles="..."ユーザーの属性で指定された役割から、役割のリストを作成します。

この要素を使用する利点は<role .../>、サポートされているロールの完全なセットを宣言できることと、ロールを説明する description 属性を含めることができることです。

余談tomcat-users.xmlですが、デフォルトで Tomcat に同梱されている例には示されていませんが、グループもサポートしています。グループは、ユーザーに割り当てることができる役割のセットです。

于 2013-11-27T10:13:25.880 に答える
2

role 要素で rolename 属性が tomcat を定義することを考えると、roles=tomcat は正確に何をしますか? 特に、manager-gui および admin-gui が Tomcat Web Application Manager および Tomcat Virtual Host Manager へのアクセスを有効にするロールを定義する作業中のユーザー定義と比較してください。

ロール/セキュリティの制約は、アプリケーション記述子web.xmlで定義されます。

たとえば、manager-guiは tomcatマネージャーアプリケーションで定義されます。

<security-constraint>
<web-resource-collection>
  <web-resource-name>HTML Manager interface (for humans)</web-resource-name>
  <url-pattern>/html/*</url-pattern>
</web-resource-collection>
<auth-constraint>
   <role-name>manager-gui</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<description>
  The role that is required to access the HTML Manager pages
</description>
<role-name>manager-gui</role-name>
</security-role>
于 2015-08-07T07:02:17.860 に答える