2013-02-19 10 views
12

In der Tomcat 7 tomcat-users.xml Datei, welchen Zweck dienen die <role /> Tags?Zweck der Rollen-Tags in tomcat-users.xml?

Für eine XAMPP Instanz von Tomcat 7, ich habe herausgefunden, wie meine tomcat-users.xml Datei zu konfigurieren, mich zu erlauben sowohl Tomcat Web Application Manager und Tomcat-Manager Virtual Host zuzugreifen. Insbesondere ermöglicht folgende den vorgenannten Zugang:

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

Beachten Sie, dass, was in diesem erfolgreichen Schnipsel von XML ist noch keine <role />-Tags sind. Das ist der Kern meiner Frage: Ich kann nicht für das Leben von mir herausfinden, welcher Zweck Rolle Tags dienen sollen.

Bei der Verfolgung des Lernens, wie der Zugang zu konfigurieren, habe ich viel Dokumentation und Forenbeiträge lesen, aber sie scheinen alle in einem Kreis zu gehen: EineRollen definieren können, aber dann Rollen nicht wirklich scheinen sich selbst etwas nützlich zu definieren (?)

Zum Beispiel ist hier die wiederkehrende Abbildung sowohl in der tomcat-users.xml Datei und in zahlreichen Forenbeiträge "erklärt" die Verwendung von Rollen.

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

Okay, so in dieser "Erklärung" a Rolle Element definiert ein Rollennamen zu tomcat, gleich Attribute dann das Benutzer Element enthält ein Rollen Attribut, das die Rolle des Benutzers definiert als Kater. Was ist der Punkt?

eine andere Art und Weise, da die Frage, dass in Rolle Element der Rollennamen attrbute definiert tomcat, Rollen = tomcat tut, was genau? Vor allem im Vergleich zu meiner Arbeitsbenutzerdefinition von wo Managern-gui und Admin-gui Rollen definieren, die Tomcat Web Application Manager UND Tomcat Virtual Host-Manager Zugriff aktivieren.

Beifall & Dank,
Riley
SFO

+1

wirklich keine Rolle spielt. Diese Datei ist nur ein Spielzeug. Sie sollten LDAP oder eine Datenbank verwenden, um seriöse Benutzer und Rollen zu halten, sowie einen benutzerdefinierten Bereich. – EJP

Antwort

3

Von dem, was ich Sie verstehen (können) Rollen definieren:

  • , weil es Ihnen mehr Flexibilität gibt, beispielsweise eine Beschreibung ein für hinzufügen Beispiel. Eine GUI kann diese Informationen verwenden.

    <role rolename="customer" description="Customer of Java WebService"/> 
    
  • Sie können die Rollen später in einer bestimmten Servlet neu zuordnen oder eine Gruppe

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

Bitte bedenken Sie, dass ich bin kein Tomcat Experte so hoffe ich, dass ein echter Experte verfeinern diese Antwort.

3

Die Verwendung des Elements <role .../> in tomcat-users.xml ist optional. Tomcat erstellt die Liste der Rollen aus den Elementen <role .../> und aus den Rollen, die im Attribut roles="..." der Benutzer angegeben sind.

Der Vorteil der Verwendung des Elements <role .../> besteht darin, dass Sie den vollständigen Satz unterstützter Rollen deklarieren können und ein beschreibendes Attribut zur Beschreibung der Rolle angeben können.

Nebenbei unterstützt tomcat-users.xml auch Gruppen, obwohl sie nicht in dem Beispiel angezeigt werden, das standardmäßig mit Tomcat geliefert wird. Gruppen sind Gruppen von Rollen, die dann Benutzern zugewiesen werden können.

2

Anders gefragt, wenn man bedenkt, dass im Rollenelement der rolename attrbute tomcat definiert, Rollen = tomcat tut was genau? Vor allem im Vergleich zu meiner arbeitenden Benutzerdefinition, wo manager-gui und admin-gui Rollen definieren, die Tomcat Web Application Manager UND Tomcat Virtual Host Manager Zugriff ermöglichen.

Rolle/Sicherheitsbeschränkungen werden in Anwendungen Deskriptor definiert web.xml.

Zum Beispiel Manager-gui in tomcat Manager Anwendung definiert:

Es
<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>