Метод ITSGPolicyEngine::AuthorizeResource (tsgpolicyengine.h)
Определяет, к каким ресурсам авторизовано указанное подключение.
Шлюз удаленных рабочих столов (шлюз удаленных рабочих столов) вызывает этот метод после успешной проверки подлинности пользователя. Затем подключаемый модуль авторизации должен использовать интерфейс ITSGAuthorizeConnectionSink для уведомления шлюза удаленных рабочих столов о результате авторизации.
Синтаксис
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
Уникальный идентификатор, назначенный запросу на подключение шлюзом удаленных рабочих столов.
[in] subSessionId
Уникальный идентификатор, назначенный подсессии шлюзом удаленных рабочих столов. Подсессия — это сеанс, запущенный из другого сеанса.
[in] username
Имя пользователя.
[in] resourceNames
Список ресурсов для авторизации.
[in] numResources
Количество ресурсов, на которые ссылается параметр resourceNames .
[in] alternateResourceNames
Указатель на BSTR , содержащий список альтернативных имен ресурсов. Этот параметр действителен, только если используется брокер подключений к удаленному рабочему столу.
[in] numAlternateResourceName
Количество имен альтернативных ресурсов, на которые ссылается параметр alternateResourceNames .
[in] portNumber
Номер порта, указанный пользователем.
[in] operation
Операция, которую пользователь пытается выполнить с ресурсом. Этот параметр всегда имеет значение "RDP".
[in] cookie
Указатель на BYTE , содержащий файл cookie, предоставленный пользователем. Если пользователь не прошел проверку подлинности с помощью файла cookie, этот параметр имеет значение NULL.
[in] numBytesInCookie
Число байтов, на которые ссылается параметр cookie .
[in] pSink
Указатель на интерфейс ITSGAuthorizeResourceSink , который подключаемый модуль авторизации должен использовать для уведомления шлюза удаленных рабочих столов о результате авторизации.
Возвращаемое значение
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Если этот метод возвращает S_OK, шлюз удаленных рабочих столов ожидает, пока подключаемый модуль авторизации вызовет метод интерфейса ITSGAuthorizeResourceSink . Если возвращается любое другое значение, шлюз удаленных рабочих столов немедленно отклоняет запрос на авторизацию.
Если авторизация требует более 1 секунды, рекомендуется запустить отдельный поток для выполнения авторизации.
Пример, в котором используется метод AuthorizeResource , см. в примере подключаемой проверки подлинности и авторизации шлюза удаленных рабочих столов .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 |
Минимальная версия сервера | Windows Server 2008 R2 |
Целевая платформа | Windows |
Header | tsgpolicyengine.h |