SOLE_AUTHENTICATION_INFO 结构 (objidlbase.h)

标识指定身份验证服务的身份验证服务、授权服务和身份验证信息。

语法

typedef struct tagSOLE_AUTHENTICATION_INFO {
  DWORD dwAuthnSvc;
  DWORD dwAuthzSvc;
  void  *pAuthInfo;
} SOLE_AUTHENTICATION_INFO, *PSOLE_AUTHENTICATION_INFO;

成员

dwAuthnSvc

身份验证服务。 此成员可以是 身份验证服务常量中的单个值。

dwAuthzSvc

授权服务。 此成员可以是 授权常量中的单个值。

pAuthInfo

指向身份验证信息的指针,其类型特定于 dwAuthnSvc 标识的身份验证服务。

对于 Schannel (RPC_C_AUTHN_GSS_SCHANNEL) ,此成员要么指向包含客户端 X.509 证书的 CERT_CONTEXT 结构,要么为 NULL (如果客户端没有证书或希望对服务器保持匿名)。

对于 NTLMSSP (RPC_C_AUTHN_WINNT) 和 Kerberos (RPC_C_AUTHN_GSS_KERBEROS) ,此成员指向包含用户名和密码的 SEC_WINNT_AUTH_IDENTITYSEC_WINNT_AUTH_IDENTITY_EX 结构。

对于 Snego (RPC_C_AUTHN_GSS_NEGOTIATE) ,此成员要么是 NULL,要么指向 SEC_WINNT_AUTH_IDENTITY 结构,要么指向 SEC_WINNT_AUTH_IDENTITY_EX 结构。 如果为 NULL,Snego 将基于客户端计算机上可用的身份验证服务选择一个列表。 如果它指向 SEC_WINNT_AUTH_IDENTITY_EX 结构,则结构的 PackageList 成员必须指向包含以逗号分隔的身份验证服务名称列表的字符串,而 PackageListLength 成员必须提供 PackageList 字符串中的字节数。 如果 PackageListNULL,则使用 Snego 的所有调用都将失败。

对于未向 DCOM 注册的身份验证服务, pAuthInfo 必须设置为 NULL ,并且 DCOM 将使用进程标识来表示客户端。 有关详细信息,请参阅 COM 和安全包

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 objidlbase.h (包括 Objidl.h)

另请参阅

CoInitializeSecurity

CoSetProxyBlanket

SOLE_AUTHENTICATION_LIST