Compartilhar via


Método ITSGPolicyEngine::AuthorizeResource (tsgpolicyengine.h)

Determina a quais recursos a conexão especificada está autorizada a se conectar.

O Gateway de Área de Trabalho Remota (Gateway de Área de Trabalho Remota) chama esse método depois que um usuário é autenticado com êxito. Em seguida, o plug-in de autorização deve usar a interface ITSGAuthorizeConnectionSink para notificar o Gateway de Área de Trabalho Remota sobre o resultado da autorização.

Sintaxe

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

Um identificador exclusivo atribuído à solicitação de conexão pelo Gateway de Área de Trabalho Remota.

[in] subSessionId

Um identificador exclusivo atribuído à subsessão pelo Gateway de Área de Trabalho Remota. Uma subsessão é uma sessão iniciada de outra sessão.

[in] username

O nome do usuário.

[in] resourceNames

Uma lista de recursos a serem autorizados.

[in] numResources

O número de recursos referenciados pelo parâmetro resourceNames .

[in] alternateResourceNames

Um ponteiro para um BSTR que contém uma lista de nomes de recursos alternativos. Esse parâmetro só é válido quando o Agente de Conexão de Área de Trabalho Remota está em uso.

[in] numAlternateResourceName

O número de nomes de recursos alternativos referenciados pelo parâmetro alternateResourceNames .

[in] portNumber

O número da porta especificado pelo usuário.

[in] operation

A operação que o usuário está tentando no recurso. Esse parâmetro é sempre definido como "RDP".

[in] cookie

Um ponteiro para um BYTE que contém o cookie fornecido pelo usuário. Se o usuário não se autenticar usando um cookie, esse parâmetro será NULL.

[in] numBytesInCookie

O número de bytes referenciados pelo parâmetro cookie .

[in] pSink

Um ponteiro para uma interface ITSGAuthorizeResourceSink que o plug-in de autorização deve usar para notificar o Gateway de Área de Trabalho Remota sobre o resultado da autorização.

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Se esse método retornar S_OK, o Gateway de Área de Trabalho Remota aguardará o plug-in de autorização para chamar um método da interface ITSGAuthorizeResourceSink . Se qualquer outro valor for retornado, o Gateway de Área de Trabalho Remota negará imediatamente a solicitação de autorização.

Se a autorização exigir mais de 1 segundo, recomendamos iniciar um thread separado para executar a autorização.

Para obter um exemplo que usa o método AuthorizeResource , consulte o exemplo autenticação e autorização conectáveis do Gateway de Área de Trabalho Remota .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7
Servidor mínimo com suporte Windows Server 2008 R2
Plataforma de Destino Windows
Cabeçalho tsgpolicyengine.h

Confira também

ITSGPolicyEngine