IAzApplication::InitializeClientContextFromName 方法 (azroles.h)

InitializeClientContextFromName 方法以 (域名、客户端名称) 对的形式从客户端标识获取 IAzClientContext 对象指针。

注意 如果可能,请调用 InitializeClientContextFromToken 函数,而不是 InitializeClientContextFromName。 有关详细信息,请参阅“备注”。

 

语法

HRESULT InitializeClientContextFromName(
  [in]           BSTR             ClientName,
  [in, optional] BSTR             DomainName,
  [in, optional] VARIANT          varReserved,
  [out]          IAzClientContext **ppClientContext
);

参数

[in] ClientName

安全主体的名称。

[in, optional] DomainName

用户帐户所在的域名。 默认值为 NULL。

[in, optional] varReserved

保留供将来使用。 此参数可能是以下值之一:

  • varReserved.vt == VT_ERROR 和 varReserved.scode == DISP_E_PARAMNOTFOUND
  • varReserved.vt == VT_EMPTY
  • varReserved.vt == VT_NULL
  • varReserved.vt == VT_I4 和 varReserved.lVal == 0
  • varReserved.vt == VT_I2 and varReserved.iVal == 0

[out] ppClientContext

指向返回的 IAzClientContext 对象的指针的指针。

返回值

如果函数成功,该函数将返回S_OK。

如果函数失败,它将返回一个 指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 通用 HRESULT 值

注解

如果可能,请调用 InitializeClientContextFromToken 函数,而不是 InitializeClientContextFromNameInitializeClientContextFromName 尝试检索客户端实际登录后登录令牌中可用的信息。 实际的登录令牌提供更多信息,例如登录类型和登录属性,并反映用于登录的身份验证包的行为。 InitializeClientContextFromToken 创建的客户端上下文使用登录令牌,生成的客户端上下文比 InitializeClientContextFromName 创建的客户端上下文更完整、更准确。

DomainNameClientName 参数必须组合才能表示 SidTypeUser

支持的名称格式与 LookupAccountName 函数支持的名称格式相同。

重要 应用程序不应假定调用上下文有权使用此函数。 AuthzInitializeContextFromSid 函数读取调用中指定的 SID 的 tokenGroupsGlobalAndUniversal 属性,以确定当前用户的组成员身份。 如果用户的对象在 Active Directory 中,则调用上下文必须对用户对象上的 tokenGroupsGlobalAndUniversal 属性具有读取访问权限。 对 tokenGroupsGlobalAndUniversal 属性的读取访问权限授予 Windows 2000 Pre-Windows 2000 兼容访问 组,但新域默认包含一个空的 Windows 2000 Pre-Windows 2000 兼容访问 组,因为默认设置选择是 与 Windows 2000 和 Windows Server 2003 兼容的权限。 因此,应用程序可能无权访问 tokenGroupsGlobalAndUniversal 属性;在这种情况下, AuthzInitializeContextFromSid 函数失败并出现ACCESS_DENIED。 使用此函数的应用程序应正确处理此错误并提供支持文档。 若要简化授予帐户查询用户组信息的权限,请将需要能够查找组信息的帐户添加到 Windows 授权访问组。
 
调用此函数的应用程序应 (UPN) 使用完全限定的域名或 用户主体名称 。 否则,如果使用 NetBIOS 域名并且两个域没有直接信任关系,则此方法可能会跨林失败。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 azroles.h
Library Azroles.lib
DLL Azroles.dll
可再发行组件 Windows XP 上的 Windows Server 2003 管理工具包

另请参阅

允许匿名访问

IAzApplication