Condividi tramite


Metodo IHttpUser::IsInRole

Restituisce un valore che indica se l'utente è autorizzato per un ruolo denominato.

Sintassi

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

Parametri

pszRoleName
[IN] Puntatore a una stringa Unicode con terminazione Null costante contenente il nome del ruolo.

pfInRole
[OUT] Puntatore a un BOOL oggetto che indica se l'utente è autorizzato per il ruolo specificato da pszRoleName.

Valore restituito

Oggetto HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

valore Definizione
S_OK Indica che l'operazione è riuscita.
E_NOTIMPL Indica che il IsInRole metodo non è stato implementato.

Commenti

Chiamare il IsInRole metodo solo se il metodo SupportsIsInRole restituiscetrue prima lo stesso puntatore IHttpUser .

Il IsInRole valore restituito dipende dall'implementazione. È consigliabile usare le informazioni seguenti come linea guida, ma potrebbe non essere corretta in tutti gli scenari:

  • Se l'implementatore IHttpUser gestisce l'autenticazione anonima, il parametro dereferenziato pfInRole viene impostato su true solo se il pszRoleName parametro è NULL o vuoto. IsInRole restituisce quindi sempre S_OK.

  • Se l'implementatore gestisce l'autenticazione IHttpUser Basic, Certification Mapping, SSPI o Custom, il pfInRole parametro non viene modificato e IsInRole restituisce immediatamente E_NOTIMPL.

  • Se l'implementatore IHttpUser gestisce l'autenticazione gestita, il pfInRole parametro non viene modificato e IsInRole restituisce immediatamente E_INVALIDARG se uno dei due parametri è NULL. In caso contrario, pfInRole è impostato su truee IsInRole restituisce S_OK solo se l'utente è nel ruolo.

Esempio

Nell'esempio di codice seguente viene illustrato come creare un modulo HTTP che cancella le intestazioni e il corpo della risposta e quindi restituisce le informazioni utente al client come documento XML.

Il codice precedente scrive codice XML simile al seguente nel flusso di risposta.

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

Il modulo deve esportare la funzione RegisterModule . È possibile esportare questa funzione creando un file di definizione del modulo (con estensione def) per il progetto oppure è possibile compilare il modulo usando l'opzione /EXPORT:RegisterModule . Per altre informazioni, vedere Procedura dettagliata: Creazione di un modulo HTTP Request-Level tramite codice nativo.

Facoltativamente, è possibile compilare il codice usando la __stdcall (/Gz) convenzione di chiamata anziché dichiarare in modo esplicito la convenzione di chiamata per ogni funzione.

Requisiti

Tipo Descrizione
Client - IIS 7.0 in Windows Vista
- IIS 7.5 in Windows 7
- IIS 8.0 in Windows 8
- IIS 10.0 in Windows 10
Server - IIS 7.0 in Windows Server 2008
- IIS 7.5 in Windows Server 2008 R2
- IIS 8.0 in Windows Server 2012
- IIS 8.5 in Windows Server 2012 R2
- IIS 10.0 in Windows Server 2016
Prodotto - 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
Intestazione Httpserv.h

Vedere anche

Interfaccia IHttpUser