QAuthenticator 类

QAuthenticator 类提供了一个身份验证对象。更多信息...

头文件 #include <QAuthenticator>
CMakefind_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmakeQT += network

注意:此类中的所有函数都是可重入的。可重入.

公共函数

QAuthenticator()
QAuthenticator(const QAuthenticator &other)
~QAuthenticator()
boolisNull() const
QVariantoption(const QString &opt) const
QVariantHashoptions() const
QStringpassword() const
QStringrealm() const
voidsetOption(const QString &opt, const QVariant &value)
voidsetPassword(const QString &password)
voidsetUser(const QString &user)
QStringuser() const
booloperator!=(const QAuthenticator &other) const
QAuthenticator &operator=(const QAuthenticator &other)
booloperator==(const QAuthenticator &other) const

详细描述

QAuthenticator 类通常用于 QNetworkAccessManager 和 QAbstractSocket 的 authenticationRequired() 和 proxyAuthenticationRequired() 信号。此类提供了一种在访问需要身份验证的服务时,将所需的身份验证信息传递回套接字的方法。

QAuthenticator 支持以下身份验证方法

  • 基本
  • NTLM 第 2 版
  • Digest-MD5
  • SPNEGO/Negotiate

选项

除了身份验证所需的用户名和密码之外,一个 QAuthenticator 对象还可以包含额外的选项。可以使用 options() 函数查询服务器发送的传入选项;可以使用 setOption() 函数设置传出选项,以便由身份验证器进行计算处理。接受的选项和提供的选项取决于身份验证类型(请参阅方法())。

以下表格列出了已知的传入选项以及接受的传出选项。传入选项列表并非详尽无遗,因为服务器可能在任何时候包含额外的信息。传出选项列表是详尽的,并且不会处理或返回给服务器任何未知选项。

基础知识

选项方向类型描述
领域传入QString包含认证领域,与领域()相同

基本认证机制不支持传出选项。

NTLM版本2

NTLM认证机制目前不支持传入或传出选项。在Windows上,如果没有设置用户,将在本地系统中查找域\用户凭据以启用单点登录功能。

Digest-MD5

选项方向类型描述
领域传入QString包含认证领域,与领域()相同

Digest-MD5认证机制不支持传出选项。

SPNEGO/Negotiate

选项方向类型描述
spn传出QString提供自定义SPN。

此认证机制目前不支持传入选项。

当使用SSPI库时,在Windows客户端上使用spn属性。如果未设置此属性,将使用默认SPN。Windows上的默认SPN是HTTP/<hostname>

其他操作系统使用GSSAPI库。为此,应设置KDC,并从中获取凭证。后端始终使用HTTPS@<hostname>作为SPN。

另请参阅QSslSocket

成员函数文档

QAuthenticator::QAuthenticator()

构造一个空的认证对象。

QAuthenticator::QAuthenticator(const QAuthenticator &other)

构造其他的一个副本。

[noexcept] QAuthenticator::~QAuthenticator()

销毁对象。

bool QAuthenticator::isNull() const

如果对象尚未初始化,则返回true。如果调用过非const成员函数,或内容是从另一个已初始化的QAuthenticator对象构造或复制的,则返回false

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

如果服务器设置了选项opt,则返回与选项opt相关的值。有关传入选项的更多信息,请参阅选项部分。如果找不到选项opt,将返回无效的QVariant

另请参阅setOption()、options()以及QAuthenticator选项

QVariantHash QAuthenticator::options() const

返回在此QAuthenticator对象中通过解析服务器响应设置的所有传入选项。有关传入选项的更多信息,请参阅选项部分

另请参阅option()以及QAuthenticator选项

QString QAuthenticator::password() const

返回用于认证的密码。

另请参阅setPassword()。

QString QAuthenticator::realm() const

返回需要进行身份验证的区域

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

将输出选项opt设置为值value。有关输出选项的更多信息,请参阅选项部分

另请参阅options()、option()以及QAuthenticator选项

void QAuthenticator::setPassword(const QString &password)

设置用于身份验证的密码。

另请参阅password()和QNetworkAccessManager::authenticationRequired

void QAuthenticator::setUser(const QString &user)

设置用于身份验证的用户。

另请参阅user()和QNetworkAccessManager::authenticationRequired

QString QAuthenticator::user() const

返回用于身份验证的用户。

另请参阅setUser

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

如果此验证器与other不同,则返回true;否则返回false

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

other的内容赋值给此验证器。

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

如果此验证器与other相同,则返回true;否则返回false

© 2024 Qt公司有限公司。此处包含的文档贡献为各所有者的版权。提供的文档受GNU自由文档许可证版本1.3许可,由自由软件基金会发布。Qt及其相关商标是芬兰及其它国家的Qt公司有限公司的商标。所有其他商标均为各自所有者的财产。