Konfigurieren der containerverwalteten Security

Dieses Kapitel behandelt die folgenden Themen:


Informationen zur containerverwalteten Security

Der Natural Web I/O Interface Client ist eine Java EE-basierte Anwendung. Um die Installation zu vereinfachen, ist der Zugriff auf diese Anwendung standardmäßig nicht gesichert. Möglicherweise möchten Sie jedoch den Zugriff auf bestimmte Teile der Anwendung auf bestimmte Benutzer beschränken. Ein wichtiges Beispiel hierfür ist das Konfigurationstool, mit dem Sie die Natural-Sitzungsdefinitionen und die Protokollierungskonfiguration des Natural Web I/O Interface Client ändern können. Ein weiteres Beispiel ist die Natural-Anmeldeseite.

Dieses Kapitel behandelt nicht alle Aspekte der JAAS-basierten Security. Es enthält jedoch ausreichende Informationen, um die vorkonfigurierten Security-Einstellungen des Natural Web I/O Interface Client zu aktivieren und an Ihre Anforderungen anzupassen.

Name und Speicherort der Konfigurationsdatei für die Security

Die Security wird in der Datei web.xml konfiguriert. Diese Datei befindet sich im folgenden Verzeichnis:

<tomcat-install-dir> /webapps/natuniweb/WEB-INF

Security aktivieren

Bei der Bearbeitung und Änderung der Konfigurationsdatei web.xml ist größte Sorgfalt geboten. Nach einer Änderung muss der Anwendungsserver neu gestartet werden.

Bearbeiten Sie die Datei web.xml und suchen Sie den Abschnitt, der mit "Uncomment the next lines to add security constraints and roles." kommentiert ist. Entfernen Sie die Kommentare aus diesem Abschnitt, indem Sie die unten fett gedruckten Kommentarzeichen entfernen:

<!-- Uncomment the next lines to add security constraints and roles. -->
<!-- 
<security-constraint>
      <web-resource-collection>   
          <web-resource-name>Administration Tools</web-resource-name>
          <url-pattern>/njxruntimetools/*</url-pattern>
      </web-resource-collection>  
...
<security-role>
    <description>Administrator</description>
    <role-name>nwoadmin</role-name>
</security-role>
-->

Security-Beschränkungen definieren

Die standardmäßig definierten Security-Beschränkungen sind nur Beispiele. Ein <security-constraint>-Element enthält eine Reihe von <web-resource-collection>-Elementen in Kombination mit einem <auth-constraint>-Element. Das <auth-constraint>-Element enthält einen <role-name>. Das gesamte <security-constraint>-Element beschreibt, welche Rollen Zugriff auf die angegebenen Ressourcen haben.

Beispiel – Die folgende Definition legt fest, dass nur Benutzer mit der Rolle nwoadmin Zugriff auf das Konfigurationstool haben:

<security-constraint>
    <web-resource-collection>   
          <web-resource-name>Administration Tools</web-resource-name>
          <url-pattern>/njxruntimetools/*</url-pattern>
      </web-resource-collection>  
    <auth-constraint>
        <role-name>nwoadmin</role-name>
    </auth-constraint>
</security-constraint>

Im folgenden Abschnitt erfahren Sie, wo und wie die Rollen definiert werden.

Rollen definieren

Einige Zeilen weiter unten in der Datei web.xml befindet sich ein Abschnitt <security-role>. Hier werden die Rollen definiert, die in <security-constraint>-Elementen verwendet werden können. Bei Bedarf können Sie zusätzliche Rollen definieren. Die Zuordnung von Benutzern zu Rollen erfolgt außerhalb dieser Datei und wird häufig in einer bereits auf Ihrer Site eingerichteten Benutzerverwaltung vorgenommen.

Beispiel:

<security-role>
    <description>Administrator</description>
    <role-name>nwoadmin</role-name>
</security-role>

Autentifizierungsmethode auswählen

In der Datei web.xml gibt es einen Abschnitt <login-config>. Das einzige Element, das hier möglicherweise angepasst werden muss, ist <auth-method>. Sie können zwischen den Authentifizierungsmethoden FORM und BASIC wählen. Bei der formularbasierten Authentifizierung wird eine bestimmte Seite angezeigt, auf der sich Benutzer, die auf eine zugangsbeschränkte Ressource zugreifen möchten, authentifizieren können. Bei der Basisauthentifizierung wird der Webbrowser angewiesen, die Anmeldedaten des Benutzers in einem eigenen Dialogfeld abzufragen.

Beispiel:

<login-config>
    <auth-method>FORM</auth-method>
...
</login-config>

UserDatabaseRealm konfigurieren

Geben Sie in der Datei tomcat-users.xml (die sich im Verzeichnis conf befindet) die Rolle nwoadmin für einen gewünschten Benutzernamen und ein Passwort an. Beispiel:

<user username="pepe" password="pepe123" roles="nwoadmin"/>

Ausführliche Informationen zur erforderlichen Realm-Konfiguration für Tomcat finden Sie unter http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html#UserDatabaseRealm .