Compartir a través de


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

Consulte también

ITSGPolicyEngine