ITSGPolicyEngine::AuthorizeConnection 方法 (tsgpolicyengine.h)

确定指定的连接是否有权连接到远程桌面网关 (RD 网关) 。

RD 网关在用户成功进行身份验证后调用此方法。 然后,授权插件应使用 ITSGAuthorizeConnectionSink 接口向 RD 网关通知授权结果。

语法

HRESULT AuthorizeConnection(
  [in] GUID                        mainSessionId,
  [in] BSTR                        username,
  [in] AAAuthSchemes               authType,
  [in] BSTR                        clientMachineIP,
  [in] BSTR                        clientMachineName,
  [in] BYTE                        *sohData,
  [in] ULONG                       numSOHBytes,
  [in] BYTE                        *cookieData,
  [in] ULONG                       numCookieBytes,
  [in] HANDLE_PTR                  userToken,
  [in] ITSGAuthorizeConnectionSink *pSink
);

参数

[in] mainSessionId

RD 网关分配给连接请求的唯一标识符。

[in] username

用户名。

[in] authType

AAAuthSchemes 枚举类型的值,该值指定用于连接到 RD 网关的身份验证类型。

[in] clientMachineIP

用户计算机的 IP 地址。

[in] clientMachineName

用户的计算机的名称。

[in] sohData

指向 BYTE 的指针,该 BYTE 包含用户计算机提供的运行状况 (SoH) 语句。 如果授权插件不需要运行状况声明,则此参数为 NULL。 有关详细信息,请参阅 IsQuarantineEnabled 方法。

[in] numSOHBytes

sohData 参数引用的字节数。

[in] cookieData

指向包含用户提供的 Cookie 的 BYTE 的指针。 如果 authType 参数未设置为 AA_AUTH_COOKIE,则此参数为 NULL

[in] numCookieBytes

cookieData 参数引用的字节数。

[in] userToken

指向 HANDLE 的指针,该 柄指定用户的用户令牌。 如果用户未运行 Windows,则此参数为 NULL

[in] pSink

指向 ITSGAuthorizeConnectionSink 接口的指针,授权插件必须使用该接口向 RD 网关通知授权结果。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

如果此方法返回 S_OK,RD 网关将等待授权插件调用 ITSGAuthorizeConnectionSink 接口的方法。 如果返回任何其他值,RD 网关将立即拒绝授权请求。

如果授权需要超过 1 秒,我们建议启动单独的线程来执行授权。

有关使用 AuthorizeConnection 方法的示例,请参阅 远程桌面网关可插入身份验证和授权 示例。

要求

   
最低受支持的客户端 Windows 7
最低受支持的服务器 Windows Server 2008 R2
目标平台 Windows
标头 tsgpolicyengine.h

另请参阅

ITSGAuthorizeConnectionSink

ITSGPolicyEngine

IsQuarantineEnabled