Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
IHttpUsergestisce l'autenticazione anonima, il parametro dereferenziatopfInRoleviene impostato sutruesolo se ilpszRoleNameparametro è NULL o vuoto.IsInRolerestituisce quindi sempre S_OK.Se l'implementatore gestisce l'autenticazione
IHttpUserBasic, Certification Mapping, SSPI o Custom, ilpfInRoleparametro non viene modificato eIsInRolerestituisce immediatamente E_NOTIMPL.Se l'implementatore
IHttpUsergestisce l'autenticazione gestita, ilpfInRoleparametro non viene modificato eIsInRolerestituisce immediatamente E_INVALIDARG se uno dei due parametri è NULL. In caso contrario,pfInRoleè impostato sutrueeIsInRolerestituisce 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 |