Método ITSGPolicyEngine::AuthorizeConnection (tsgpolicyengine.h)
Determina si la conexión especificada está autorizada para conectarse a la puerta de enlace de Escritorio remoto (puerta de enlace de Escritorio remoto).
La 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 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
);
Parámetros
[in] mainSessionId
Identificador único asignado a la solicitud de conexión por puerta de enlace de Escritorio remoto.
[in] username
Nombre de usuario.
[in] authType
Valor del tipo de enumeración AAAuthSchemes que especifica el tipo de autenticación utilizado para conectarse a la puerta de enlace de Escritorio remoto.
[in] clientMachineIP
Dirección IP del equipo del usuario.
[in] clientMachineName
Nombre del equipo del usuario.
[in] sohData
Puntero a un BYTE que contiene la instrucción de mantenimiento (SoH) proporcionada por el equipo del usuario. Si el complemento de autorización no requiere una instrucción de mantenimiento, este parámetro es NULL. Para obtener más información, vea el método IsQuarantineEnabled .
[in] numSOHBytes
Número de bytes al que hace referencia el parámetro sohData .
[in] cookieData
Puntero a un BYTE que contiene la cookie proporcionada por el usuario. Si el parámetro authType no está establecido en AA_AUTH_COOKIE, este parámetro es NULL.
[in] numCookieBytes
Número de bytes a los que hace referencia el parámetro cookieData .
[in] userToken
Puntero a un identificador que especifica el token de usuario del usuario. Si el usuario no ejecuta Windows, este parámetro es NULL.
[in] pSink
Puntero a una interfaz ITSGAuthorizeConnectionSink 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 ITSGAuthorizeConnectionSink . 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 use el método AuthorizeConnection , consulte el ejemplo autenticación y autorización conectables de puerta de enlace de Escritorio remoto.
Requisitos
Cliente mínimo compatible | Windows 7 |
Servidor mínimo compatible | Windows Server 2008 R2 |
Plataforma de destino | Windows |
Encabezado | tsgpolicyengine.h |