Auf Server-Ebene

Diese Sicherung erfolgt über die Konfigurationsdatei "webservice/WEB-INF/web.xml" (Deployment Descriptor der Web-Anwendung). Bei dieser Sicherung wird der gesamte Server geschützt.

 

Bei einer Standard-Installation von webPDF ist bereits in der Datei "webservice/WEB-INF/web.xml" eine Beispiel-Konfiguration vorhanden, die auskommentiert ist.

 

  <!-- Security settings -->
  <!--    
   <security-constraint>
       ....
       ....
       <role-name>admin</role-name>
   </security-role>        
  -->

 

Um die Konfiguration zu aktivieren stoppen Sie den webPDF Server und bearbeiten Sie die Datei "webservice/WEB-INF/web.xml" mit einem Texteditor. Entfernen Sie die Kommentierung "<!--" und "-->", speichern Sie die Datei und starten Sie den Server neu.

 

Mit dieser Konfiguration wird der gesamte Server, also alle Webservices, geschützt.

 

hint

Der webPDF-Server läuft auf einem "embedded Tomcat" Server. Es gelten die Konfigurationseinstellungen der "web.xml" für Tomcat-Server.

 

Über die Bereiche

 

<security-constraint />
<login-config />
<security-role />

 

kann die Sicherheitskonfiguration angepasst werden.

 

Beim Aufruf der Webservices (auch bereits beim Abruf der WSDL-Informationen bei den SOAP-Webservices) müssen die Zugangsdaten übergeben werden. Mit der Default-Konfiguration werden Benutzerdaten (user credentials) erwartet, die in der Gruppe "admin" oder "user" sind (siehe "Benutzerdatenbank").

 

Die Übergabe und Implementierung der Benutzerdaten unterscheidet sich je nach Programmiersprache. Unter Java kann dieser Übergabe z.B. über die Klasse "Authenticator" erfolgen. Durch die Definition eines Default-Authenticator ("setDefault" der Klasse) können die benötigen Benutzerdaten bereitgestellt werden:

 

// provide authorization info (if WSDL is secured via web.xml)
Authenticator.setDefault(new Authenticator() {
 
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(
        "admin",
        "admin".toCharArray());
    }
});

 

In diesem Beispiel wird der Benutzer "admin" mit dem Passwort "admin" bereitgestellt. Diese Daten werden unter Java automatisch beim Aufruf des Webservice (im Header des Requests) mit übertragen.

 

hint

Ist der Server geschützt und die Benutzerdaten werden nicht, unvollständig oder falsch übergeben, so führt dies zu einem Fehlercode im Bereich -80 und -85 (siehe Fehlernummern) und einer Webservice-Exception.