Método ITSGPolicyEngine::AuthorizeResource (tsgpolicyengine.h)
Determina a qué recursos está autorizado la conexión especificada para conectarse.
La puerta de enlace de Escritorio remoto (puerta de enlace de Escritorio remoto) llama a este método después de que un usuario se haya autenticado correctamente. Después, el complemento de autorización debe usar la interfaz ITSGAuthorizeConnectionSink para notificar a la puerta de enlace de Escritorio remoto el resultado de la autorización.
Sintaxis
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
);
Parámetros
[in] mainSessionId
Identificador único asignado a la solicitud de conexión por puerta de enlace de Escritorio remoto.
[in] subSessionId
Identificador único asignado a la subsesión por puerta de enlace de Escritorio remoto. Una subsesión es una sesión iniciada desde otra sesión.
[in] username
Nombre de usuario.
[in] resourceNames
Lista de recursos que se van a autorizar.
[in] numResources
Número de recursos a los que hace referencia el parámetro resourceNames .
[in] alternateResourceNames
Puntero a un BSTR que contiene una lista de nombres de recursos alternativos. Este parámetro solo es válido cuando el agente de conexión a Escritorio remoto está en uso.
[in] numAlternateResourceName
Número de nombres de recursos alternativos a los que hace referencia el parámetro alternateResourceNames .
[in] portNumber
Número de puerto especificado por el usuario.
[in] operation
Operación que el usuario está intentando en el recurso. Este parámetro siempre se establece en "RDP".
[in] cookie
Puntero a un BYTE que contiene la cookie proporcionada por el usuario. Si el usuario no se ha autenticado mediante una cookie, este parámetro es NULL.
[in] numBytesInCookie
Número de bytes a los que hace referencia el parámetro cookie .
[in] pSink
Puntero a una interfaz ITSGAuthorizeResourceSink que el complemento de autorización debe usar para notificar a la puerta de enlace de Escritorio remoto el resultado de la autorización.
Valor devuelto
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Si este método devuelve S_OK, la puerta de enlace de Escritorio remoto espera a que el complemento de autorización llame a un método de la interfaz ITSGAuthorizeResourceSink . Si se devuelve cualquier otro valor, la puerta de enlace de Escritorio remoto deniega inmediatamente la solicitud de autorización.
Si la autorización requiere más de 1 segundo, se recomienda iniciar un subproceso independiente para realizar la autorización.
Para obtener un ejemplo que usa el método AuthorizeResource , consulte el ejemplo autenticación y autorización conectables de puerta de enlace de Escritorio remoto.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 |
Servidor mínimo compatible | Windows Server 2008 R2 |
Plataforma de destino | Windows |
Encabezado | tsgpolicyengine.h |