QAuthenticator Class

QAuthenticator クラスは、認証オブジェクトを提供します。詳細...

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

注意:このクラスの関数はすべてリエントラントです。

パブリック関数

QAuthenticator()
QAuthenticator(const QAuthenticator &other)
~QAuthenticator()
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

詳細説明

QAuthenticator クラスは、通常QNetworkAccessManagerQAbstractSocketauthenticationRequired() とproxyAuthenticationRequired() シグナルで使用されます。このクラスは、認証を必要とするサービスにアクセスする際に、必要な認証情報をソケットに返す方法を提供します。

QAuthenticator は以下の認証方法をサポートしています:

  • ベーシック
  • NTLM バージョン 2
  • ダイジェストMD5
  • SPNEGO/Negotiate

オプション

認証に必要なユーザ名とパスワードの他に、QAuthenticator オブジェクトには追加のオプションを含めることができる。options() 関数を使用すると、 サーバから送られてくるオプションを問い合わせることができます。setOption() 関数を使用すると、 認証処理で使用する送信オプションを設定することができます。受け付けるオプションや指定するオプションは、 認証の種類によって異なります (method() を参照ください)。

以下の表に、既知の受信オプションと、使用可能な送信オプションを示します。サーバはいつでも追加情報を含めることができるからです。しかし、送信オプションの一覧は完全なものであり、 未知のオプションが扱われたりサーバに返されたりすることはありません。

基本

オプション方向タイプ内容
realm着信QString認証のレルムを含む。realm() と同じ。

Basic 認証機構は、送信オプションをサポートしていません。

NTLM バージョン 2

NTLM 認証機構は現在、送受信オプションをサポートしていない。Windows では、user が設定されていない場合、シングルサインオン機能を有効にするために、ドメインユーザの認証情報がローカルシステム上で検索される。

ダイジェスト-MD5

オプション方向タイプ説明
realm着信QString認証のレルムを含む。realm() と同じ。

Digest-MD5 認証の仕組みは、送信オプションをサポートしていません。

SPNEGO/Negotiate

オプション方向タイプ説明
spn発信QStringカスタムSPNを提供する。

この認証メカニズムは現在、着信オプションをサポートしていない。

spn プロパティは、SSPI ライブラリを使用する Windows クライアントで使用される。このプロパティが設定されていない場合は、既定の SPN が使用されます。Windows での既定の SPN はHTTP/<hostname> です。

他のオペレーティング・システムではGSSAPIライブラリが使用される。そのため、KDC がセットアップされ、そこから認証情報を取得できることが期待される。バックエンドは常にHTTPS@<hostname> をSPNとして使用する。

QSslSocketも参照のこと

メンバ関数のドキュメント

QAuthenticator::QAuthenticator()

空の認証オブジェクトを構築する。

QAuthenticator::QAuthenticator(const QAuthenticator &other)

other のコピーを構築します。

[noexcept] QAuthenticator::~QAuthenticator()

オブジェクトを破棄します。

bool QAuthenticator::isNull() const

オブジェクトが初期化されていない場合はtrue を返します。非 const メンバ関数が呼び出された場合、またはコンテンツが他の初期化されたQAuthenticator オブジェクトから構築またはコピーされた場合は、false を返します。

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

オプションopt に関連する値がサーバーによって設定されていた場合、その値を返す。受信オプションの詳細についてはOptions section を参照。オプションopt が見つからない場合は、無効なQVariant が返されます。

setOption()、options()、QAuthenticator optionsも参照

QVariantHash QAuthenticator::options() const

このQAuthenticator オブジェクトに設定されているすべての受信オプションを、 サーバからの応答を解析して返します。受信オプションについての詳細はOptions section を参照。

option() およびQAuthenticator optionsも参照

QString QAuthenticator::password() const

認証に使用したパスワードを返します。

setPassword() も参照

QString QAuthenticator::realm() const

認証を必要とするレルムを返します。

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

発信オプションopt を値value に設定します。発信オプションの詳細についてはOptions section を参照してください。

options()、option()、およびQAuthenticator options参照

void QAuthenticator::setPassword(const QString &password)

認証に使用するpassword を設定します。

password() およびQNetworkAccessManager::authenticationRequired() も参照して ください。

void QAuthenticator::setUser(const QString &user)

認証に使用する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 を返します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。