Partager via


IHttpUser::IsInRole, méthode

Retourne une valeur qui indique si l’utilisateur est autorisé pour un rôle nommé.

Syntaxe

virtual HRESULT IsInRole(  
   IN PCWSTR pszRoleName,  
   OUT BOOL* pfInRole  
) = 0;  

Paramètres

pszRoleName
[IN] Pointeur vers une chaîne Unicode terminée par null constante qui contient le nom du rôle.

pfInRole
[OUT] Pointeur vers un BOOL qui indique si l’utilisateur est autorisé pour le rôle spécifié par pszRoleName.

Valeur renvoyée

Élément HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Valeur Définition
S_OK Indique que l’opération a réussi.
E_NOTIMPL Indique que la méthode n’a IsInRole pas été implémentée.

Remarques

Appelez la IsInRole méthode uniquement si la méthode SupportsIsInRole retourne true d’abord sur le même pointeur IHttpUser .

La IsInRole valeur de retour dépend de l’implémentation. Vous devez utiliser les informations suivantes comme ligne directrice, mais elles peuvent ne pas être correctes dans tous les scénarios :

  • Si l’implémenteur IHttpUser gère l’authentification anonyme, le paramètre déréférencé pfInRole est défini sur true uniquement si le pszRoleName paramètre est NULL ou vide. IsInRole puis retourne toujours S_OK.

  • Si l’implémenteur IHttpUser gère l’authentification de base, de mappage de certification, de SSPI ou personnalisée, le pfInRole paramètre n’est pas modifié et IsInRole retourne immédiatement E_NOTIMPL.

  • Si l’implémenteur IHttpUser gère l’authentification managée, le pfInRole paramètre n’est pas modifié et IsInRole retourne immédiatement E_INVALIDARG si l’un des paramètres a la valeur NULL. Sinon, pfInRole est défini sur trueet IsInRole retourne S_OK uniquement si l’utilisateur est dans le rôle.

Exemple

L’exemple de code suivant montre comment créer un module HTTP qui efface les en-têtes et le corps de la réponse, puis retourne les informations utilisateur au client sous forme de document XML.

Le code ci-dessus écrit du code XML similaire à ce qui suit dans le flux de réponse.

<?xml version="1.0" ?>  
<user supportsRoles="true" isInRole="false" />  

Votre module doit exporter la fonction RegisterModule . Vous pouvez exporter cette fonction en créant un fichier de définition de module (.def) pour votre projet, ou vous pouvez compiler le module à l’aide du /EXPORT:RegisterModule commutateur. Pour plus d’informations, consultez Procédure pas à pas : création d’un module HTTP Request-Level à l’aide de code natif.

Vous pouvez éventuellement compiler le code à l’aide de la __stdcall (/Gz) convention d’appel au lieu de déclarer explicitement la convention d’appel pour chaque fonction.

Spécifications

Type Description
Client - IIS 7.0 sur Windows Vista
- IIS 7.5 sur Windows 7
- IIS 8.0 sur Windows 8
- IIS 10.0 sur Windows 10
Serveur - IIS 7.0 sur Windows Server 2008
- IIS 7.5 sur Windows Server 2008 R2
- IIS 8.0 sur Windows Server 2012
- IIS 8.5 sur Windows Server 2012 R2
- IIS 10.0 sur Windows Server 2016
Produit - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
- IIS Express 7.5, IIS Express 8.0, IIS Express 10.0
En-tête Httpserv.h

Voir aussi

IHttpUser Interface