ITSGPolicyEngine::AuthorizeResource 方法 (tsgpolicyengine.h)

确定指定连接有权连接到哪些资源。

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

语法

HRESULT AuthorizeResource(
  [in] GUID                      mainSessionId,
  [in] int                       subSessionId,
  [in] BSTR                      username,
  [in] BSTR                      *resourceNames,
  [in] ULONG                     numResources,
  [in] BSTR                      *alternateResourceNames,
  [in] ULONG                     numAlternateResourceName,
  [in] ULONG                     portNumber,
  [in] BSTR                      operation,
  [in] BYTE                      *cookie,
  [in] ULONG                     numBytesInCookie,
  [in] ITSGAuthorizeResourceSink *pSink
);

参数

[in] mainSessionId

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

[in] subSessionId

RD 网关分配给子的唯一标识符。 子会话是从另一个会话启动的会话。

[in] username

用户名。

[in] resourceNames

要授权的资源列表。

[in] numResources

resourceNames 参数引用的资源数。

[in] alternateResourceNames

指向包含备用资源名称列表的 BSTR 的指针。 仅当 RD 连接代理正在使用时,此参数才有效。

[in] numAlternateResourceName

alternateResourceNames 参数引用的备用资源名称数。

[in] portNumber

用户指定的端口号。

[in] operation

用户尝试对资源执行的操作。 此参数始终设置为“RDP”。

[in] cookie

指向包含用户提供的 Cookie 的 BYTE 的指针。 如果用户未使用 Cookie 进行身份验证,则此参数为 NULL

[in] numBytesInCookie

Cookie 参数引用的字节数。

[in] pSink

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

返回值

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

注解

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

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

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

要求

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

另请参阅

ITSGPolicyEngine