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 surtrue
uniquement si lepszRoleName
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, lepfInRole
paramètre n’est pas modifié etIsInRole
retourne immédiatement E_NOTIMPL.Si l’implémenteur
IHttpUser
gère l’authentification managée, lepfInRole
paramètre n’est pas modifié etIsInRole
retourne immédiatement E_INVALIDARG si l’un des paramètres a la valeur NULL. Sinon,pfInRole
est défini surtrue
etIsInRole
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 |