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 |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour