Partager via


ITSGPolicyEngine ::AuthorizeResource, méthode (tsgpolicyengine.h)

Détermine les ressources auxquelles la connexion spécifiée est autorisée à se connecter.

La passerelle Bureau à distance appelle cette méthode une fois qu’un utilisateur a été authentifié. Le plug-in d’autorisation doit ensuite utiliser l’interface ITSGAuthorizeConnectionSink pour informer la passerelle Bureau à distance du résultat de l’autorisation.

Syntaxe

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
);

Paramètres

[in] mainSessionId

Identificateur unique attribué à la demande de connexion par la passerelle Bureau à distance.

[in] subSessionId

Identificateur unique attribué à la sous-session par la passerelle Bureau à distance. Une sous-session est une session lancée à partir d’une autre session.

[in] username

Nom d'utilisateur.

[in] resourceNames

Liste des ressources à autoriser.

[in] numResources

Nombre de ressources référencées par le paramètre resourceNames .

[in] alternateResourceNames

Pointeur vers un BSTR qui contient une liste de noms de ressources de remplacement. Ce paramètre n’est valide que lorsque le répartiteur de connexion Bureau à distance est en cours d’utilisation.

[in] numAlternateResourceName

Nombre de noms de ressources secondaires référencés par le paramètre alternateResourceNames .

[in] portNumber

Numéro de port spécifié par l’utilisateur.

[in] operation

Opération que l’utilisateur tente d’effectuer sur la ressource. Ce paramètre est toujours défini sur « RDP ».

[in] cookie

Pointeur vers un BYTE qui contient le cookie fourni par l’utilisateur. Si l’utilisateur ne s’est pas authentifié à l’aide d’un cookie, ce paramètre est NULL.

[in] numBytesInCookie

Nombre d’octets référencés par le paramètre cookie .

[in] pSink

Pointeur vers une interface ITSGAuthorizeResourceSink que le plug-in d’autorisation doit utiliser pour informer la passerelle Bureau à distance du résultat de l’autorisation.

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Si cette méthode retourne S_OK, la passerelle Bureau à distance attend que le plug-in d’autorisation appelle une méthode de l’interface ITSGAuthorizeResourceSink . Si une autre valeur est retournée, la passerelle Bureau à distance refuse immédiatement la demande d’autorisation.

Si l’autorisation nécessite plus d’une seconde, nous vous recommandons de démarrer un thread distinct pour effectuer l’autorisation.

Pour obtenir un exemple qui utilise la méthode AuthorizeResource , consultez l’exemple d’authentification et d’autorisation enfichable de passerelle Bureau à distance .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7
Serveur minimal pris en charge Windows Server 2008 R2
Plateforme cible Windows
En-tête tsgpolicyengine.h

Voir aussi

ITSGPolicyEngine