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 |
- Liste aller Mitglieder, einschließlich vererbter Mitglieder
- QAuthenticator ist Teil der Netzwerkprogrammier-API.
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
| Option | Richtung | Typ | Beschreibung |
|---|---|---|---|
realm | Eingehend | QString | Enthä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
| Option | Richtung | Typ | Beschreibung |
|---|---|---|---|
realm | Eingehend | QString | Enthält den Realm der Authentifizierung, identisch mit realm() |
Der Digest-MD5-Authentifizierungsmechanismus unterstützt keine Optionen für ausgehende Verbindungen.
SPNEGO/Negotiate
| Option | Richtung | Typ | Beschreibung |
|---|---|---|---|
spn | Ausgehend | QString | Stellt 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.