Compartir a través de


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

Consulte también

ITSGAuthorizeConnectionSink

ITSGPolicyEngine

IsQuarantineEnabled