Heim > Artikel > Backend-Entwicklung > Wie kann ich mich mit PHP bei einem passwortgeschützten Webdienst authentifizieren?
Herstellen einer Verbindung zu einem passwortgeschützten Webdienst und Beheben von Autorisierungsproblemen
Beim Versuch, über PHP auf einen durch WS-Sicherheit geschützten Webdienst zuzugreifen, Möglicherweise stoßen Sie auf Schwierigkeiten bei der Konfiguration der richtigen Autorisierung. Dieser Leitfaden soll eine umfassende Lösung zur Lösung dieser Herausforderungen bieten.
Fehlerbehebung bei Autorisierungsproblemen
Lösung: Verwendung von WsseAuthHeader
Um eine sichere Verbindung herzustellen, können Sie die SoapHeader-Klasse erweitern und einen Wsse-kompatiblen Authentifizierungsheader erstellen:
class WsseAuthHeader extends SoapHeader { private $wss_ns = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'; function __construct($user, $pass, $ns = null) { if ($ns) { $this->wss_ns = $ns; } // ... (rest of the class definition as provided in the answer) } }
Nach der Erstellung kann das WsseAuthHeader-Objekt als Soap-Header festgelegt werden :
$wsse_header = new WsseAuthHeader($username, $password); $x = new SoapClient('{...}', array("trace" => 1, "exception" => 0)); $x->__setSoapHeaders(array($wsse_header));
Dieser Ansatz sollte erfolgreich eine authentifizierte Verbindung mit dem durch WS-Sicherheit geschützten Webdienst herstellen.
Zusätzliche Optionen
Verweis auf andere Lösungen: Entdecken Sie zusätzliche Ressourcen für Alternativen Ansätze für den Zugriff auf durch WS-Sicherheit geschützte Webdienste mit PHP, wie zum Beispiel:
Das obige ist der detaillierte Inhalt vonWie kann ich mich mit PHP bei einem passwortgeschützten Webdienst authentifizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!