Auf Aufruf-Ebene

Diese Sicherung erfolgt direkt beim Aufruf des Webservice. Der Server selbst übernimmt keine Sicherung der Webservices.

 

Beim Aufruf des Webservice müssen Benutzerdaten (user credentials) übergeben werden, die dann vom Webservice überprüft werden. Erst wenn diese Benutzerdaten, bestehend aus Benutzername und Passwort, vorhanden und gültig sind, wir die eigentliche Operation des Webservice ausgeführt.

 

Sie die Benutzerdaten nicht vorhanden oder ungültig, so beendet der Webservice den Aufruf mit einer Fehlernummer und einer Exception.

 

hint

Bei dieser Sicherung ist nur die Nutzung des Webservice gesichert, nicht aber der Abruf der WSDL-Information.

 

Die Benutzerdaten müssen entsprechend der Konfiguration der "Benutzerdatenbank") verwendet werden. Mit der Default-Konfiguration werden Benutzerdaten (user credentials) erwartet, die in der Gruppe "admin" oder "user" sind.

 

Um die Sicherung der Webservices zu aktivieren, verwenden Sie den Admin-Bereich im Portal und dort den Punkt "Webservices -> Allgemein".

 

hint

Aktuell ist nur einer Sicherung aller Webservices möglich. Eine individuelle Steuerung ist nicht möglich.

 

Beim Aufruf des Webservice müssen die Benutzerdaten übergeben werden. Die Übergabe und Implementierung der Benutzerdaten unterscheidet sich je nach Programmiersprache. Unter Java kann diese Übergabe z.B. über den "message context" des Requests bei SOAP-Webservices erfolgen.

 

Map<String, Object> ctxt = ((BindingProvider) port).getRequestContext();
 
// add authorization info
Map<String, List<String>> headers = new HashMap<String, List<String>>();
headers.put("Authorization", Collections.singletonList("Basic " + Base64.encode("admin:admin".getBytes())));
ctxt.put(MessageContext.HTTP_REQUEST_HEADERS, headers);

 

In diesem Beispiel wird der Benutzer "admin" mit dem Passwort "admin" bereitgestellt. Diese Daten werden in den Header des Requests gestellt und vom Webservice auf dem Server ausgewertet.

 

hint

Sind die Webservices 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.