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 |