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 dereferenziatopfInRole
viene impostato sutrue
solo se ilpszRoleName
parametro è NULL o vuoto.IsInRole
restituisce quindi sempre S_OK.Se l'implementatore gestisce l'autenticazione
IHttpUser
Basic, Certification Mapping, SSPI o Custom, ilpfInRole
parametro non viene modificato eIsInRole
restituisce immediatamente E_NOTIMPL.Se l'implementatore
IHttpUser
gestisce l'autenticazione gestita, ilpfInRole
parametro non viene modificato eIsInRole
restituisce immediatamente E_INVALIDARG se uno dei due parametri è NULL. In caso contrario,pfInRole
è impostato sutrue
eIsInRole
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 |