Auf dieser Seite

QAuthenticator Class

Die Klasse „QAuthenticator“ stellt ein Authentifizierungsobjekt bereit. Mehr...

Header: #include <QAuthenticator>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Öffentliche Funktionen

QAuthenticator()
QAuthenticator(const QAuthenticator &other)
~QAuthenticator()
(since 6.11) void clear()
bool isNull() const
QVariant option(const QString &opt) const
QVariantHash options() const
QString password() const
QString realm() const
void setOption(const QString &opt, const QVariant &value)
void setPassword(const QString &password)
void setUser(const QString &user)
QString user() const
bool operator!=(const QAuthenticator &other) const
QAuthenticator &operator=(const QAuthenticator &other)
bool operator==(const QAuthenticator &other) const

Ausführliche Beschreibung

Die Klasse „QAuthenticator“ wird üblicherweise in den Signalen „ authenticationRequired()“ und „ proxyAuthenticationRequired()“ von „ QNetworkAccessManager “ und „ QAbstractSocket “ verwendet. Die Klasse bietet eine Möglichkeit, die erforderlichen Authentifizierungsinformationen an den Socket zurückzugeben, wenn auf Dienste zugegriffen wird, die eine Authentifizierung erfordern.

QAuthenticator unterstützt die folgenden Authentifizierungsmethoden:

  • Basic
  • NTLM Version 2
  • Digest-MD5
  • SPNEGO/Negotiate

Optionen

Neben dem für die Authentifizierung erforderlichen Benutzernamen und Passwort kann ein `QAuthenticator`-Objekt auch zusätzliche Optionen enthalten. Mit der Funktion ` options()` können vom Server gesendete Optionen abgefragt werden; mit der Funktion ` setOption()` können ausgehende Optionen festgelegt werden, die bei der Authentifizierungsberechnung verarbeitet werden sollen. Welche Optionen akzeptiert und bereitgestellt werden, hängt vom Authentifizierungstyp ab (siehe method()).

Die folgenden Tabellen listen bekannte eingehende Optionen sowie akzeptierte ausgehende Optionen auf. Die Liste der eingehenden Optionen ist nicht vollständig, da Server jederzeit zusätzliche Informationen hinzufügen können. Die Liste der ausgehenden Optionen ist jedoch vollständig, und unbekannte Optionen werden weder verarbeitet noch an den Server zurückgesendet.

Basic

OptionRichtungTypBeschreibung
realmEingehendQStringEnthält den Realm der Authentifizierung, identisch mit ` realm()`

Der Basic-Authentifizierungsmechanismus unterstützt keine Optionen für ausgehende Verbindungen.

NTLM Version 2

Der NTLM-Authentifizierungsmechanismus unterstützt derzeit keine Optionen für eingehenden oder ausgehenden Datenverkehr. Wenn unter Windows kein „ user “ festgelegt wurde, wird auf dem lokalen System nach Anmelde\user en der Domäne gesucht, um die Single-Sign-On-Funktionalität zu aktivieren.

Digest-MD5

OptionRichtungTypBeschreibung
realmEingehendQStringEnthält den Realm der Authentifizierung, identisch mit realm()

Der Digest-MD5-Authentifizierungsmechanismus unterstützt keine Optionen für ausgehende Verbindungen.

SPNEGO/Negotiate

OptionRichtungTypBeschreibung
spnAusgehendQStringStellt einen benutzerdefinierten SPN bereit.

Dieser Authentifizierungsmechanismus unterstützt derzeit keine Optionen für eingehenden Datenverkehr.

Die Eigenschaft „ spn “ wird auf Windows-Clients verwendet, wenn eine SSPI-Bibliothek zum Einsatz kommt. Ist die Eigenschaft nicht festgelegt, wird ein Standard-SPN verwendet. Der Standard-SPN unter Windows lautet „ HTTP/<hostname> “.

Andere Betriebssysteme verwenden GSSAPI-Bibliotheken. Dabei wird vorausgesetzt, dass ein KDC eingerichtet ist und die Anmeldeinformationen von dort abgerufen werden können. Das Backend verwendet stets „ HTTPS@<hostname> “ als SPN.

Sicherheitshinweise

QAuthenticator speichert Anmeldedaten wie Benutzernamen und Passwörter intern unter Verwendung allgemeiner Datentypen (QString, QByteArray), die keine sichere Löschung ihrer Inhalte aus dem Speicher bei der Zerstörung garantieren. Anmeldedaten können nach der Zerstörung oder dem Löschen eines QAuthenticator-Objekts in freigegebenen Heap-Seiten, Core-Dumps, Auslagerungsdateien oder im Prozessspeicher verbleiben.

Bei der Aushandlung der Basic-Authentifizierung werden Anmeldedaten mittels Base64-Kodierung übertragen, die leicht rückverwandelbar ist. Die Basic-Authentifizierung sollte nur über TLS-verschlüsselte Verbindungen verwendet werden. QAuthenticator erzwingt diese Anforderung nicht; Anwendungen sind dafür verantwortlich, die Transportsicherheit zu gewährleisten, wenn die Basic-Authentifizierung verwendet wird.

QAuthenticator wählt die stärkste vom Server angebotene Authentifizierungsmethode anhand einer festen internen Prioritätsreihenfolge aus: „Negotiate“ (Kerberos/SPNEGO), NTLM, Digest-MD5 und Basic. Die Anwendung kann diese Auswahl derzeit nicht beeinflussen oder einschränken, welche Methoden akzeptabel sind. Wenn ein Server oder Proxy nur eine schwache Methode anbietet, wird diese ohne Benachrichtigung verwendet.

Anwendungen mit strengen Anforderungen an die Sicherheit von Anmeldedaten sollten dies berücksichtigen, wenn sie entscheiden, wie und wo QAuthenticator eingesetzt werden soll.

Siehe auch QSslSocket.

Dokumentation der Member-Funktionen

QAuthenticator::QAuthenticator()

Erstellt ein leeres Authentifizierungsobjekt.

QAuthenticator::QAuthenticator(const QAuthenticator &other)

Erstellt eine Kopie von „ other “.

[noexcept] QAuthenticator::~QAuthenticator()

Löscht das Objekt.

[since 6.11] void QAuthenticator::clear()

Löscht alle Anmeldedaten und setzt das Objekt auf seinen standardmäßigen, nicht initialisierten Zustand zurück.

Diese Funktion wurde in Qt 6.11 eingeführt.

bool QAuthenticator::isNull() const

Gibt „ true “ zurück, wenn das Objekt nicht initialisiert wurde. Gibt „ false “ zurück, wenn nicht-konstante Memberfunktionen aufgerufen wurden oder der Inhalt aus einem anderen initialisierten „ QAuthenticator “-Objekt konstruiert oder kopiert wurde.

QVariant QAuthenticator::option(const QString &opt) const

Gibt den Wert zurück, der sich auf die Option „ opt “ bezieht, sofern diese vom Server gesetzt wurde. Weitere Informationen zu eingehenden Optionen finden Sie unter Options section. Wird die Option „ opt “ nicht gefunden, wird ein ungültiger Fehlercode „ QVariant “ zurückgegeben.

Siehe auch setOption(), options() und QAuthenticator options.

QVariantHash QAuthenticator::options() const

Gibt alle in diesem „ QAuthenticator “-Objekt festgelegten eingehenden Optionen zurück, indem die Serverantwort analysiert wird. Weitere Informationen zu eingehenden Optionen finden Sie unter Options section.

Siehe auch option() und QAuthenticator options.

QString QAuthenticator::password() const

Gibt das für die Authentifizierung verwendete Passwort zurück.

Siehe auch setPassword().

QString QAuthenticator::realm() const

Gibt den Bereich zurück, für den eine Authentifizierung erforderlich ist.

void QAuthenticator::setOption(const QString &opt, const QVariant &value)

Setzt die Option „ opt “ für ausgehende E-Mails auf den Wert „ value “. Weitere Informationen zu Optionen für ausgehende E-Mails finden Sie unter Options section.

Siehe auch options(), option() und QAuthenticator options.

void QAuthenticator::setPassword(const QString &password)

Legt den für die Authentifizierung verwendeten „ password “ fest.

Siehe auch „ password()“ und „ QNetworkAccessManager::authenticationRequired()“.

void QAuthenticator::setUser(const QString &user)

Legt die für die Authentifizierung verwendete „ user “ fest.

Siehe auch „ user()“ und „ QNetworkAccessManager::authenticationRequired()“.

QString QAuthenticator::user() const

Gibt den für die Authentifizierung verwendeten Benutzer zurück.

Siehe auch setUser().

bool QAuthenticator::operator!=(const QAuthenticator &other) const

Gibt „ true “ zurück, wenn sich dieser Authentifikator von „ other “ unterscheidet; andernfalls wird „ false “ zurückgegeben.

QAuthenticator &QAuthenticator::operator=(const QAuthenticator &other)

Weist diesem Authentifikator den Inhalt von „ other “ zu.

bool QAuthenticator::operator==(const QAuthenticator &other) const

Gibt „ true “ zurück, wenn dieser Authentifikator mit „ other “ identisch ist; andernfalls wird „ false “ zurückgegeben.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.