Funzione SeImpersonateClientEx (ntifs.h)
La routine SeImpersonateClientEx determina la rappresentazione di un utente da parte di un thread.
Sintassi
NTSTATUS SeImpersonateClientEx(
[in] PSECURITY_CLIENT_CONTEXT ClientContext,
[in, optional] PETHREAD ServerThread
);
Parametri
[in] ClientContext
Puntatore al contesto client di sicurezza dell'utente.
[in, optional] ServerThread
Puntatore al thread che rappresenta l'utente. Se non specificato, viene utilizzato il thread chiamante.
Valore restituito
SeImpersonateClientEx restituisce un valore NTSTATUS appropriato, ad esempio:
Codice restituito | Descrizione |
---|---|
|
Tentativo di rappresentazione riuscito. |
|
Il thread specificato nel parametro ServerThread non dispone di diritti di accesso sufficienti per rappresentare l'utente il cui contesto client di sicurezza è specificato nel parametro ClientContext . |
|
SeImpersonateClientEx ha rilevato un errore di allocazione del pool durante l'allocazione della memoria per la struttura delle informazioni di rappresentazione. |
Commenti
SeImpersonateClientEx viene usato per rappresentare un thread. Si presuppone che il contesto di sicurezza client in ClientContext sia aggiornato.
È estremamente non sicuro aumentare lo stato dei privilegi di un thread utente non attendibile (ad esempio, prendere il thread di un utente e rappresentare LocalSystem). Se un thread utente non attendibile ha avuto il privilegio generato, l'utente potrebbe acquisire il token del thread dopo che è stato elevato e annullare la sicurezza dell'intero sistema.
Nei casi in cui è necessario uno stato con privilegi più elevati, l'attività deve essere inviata a una coda di lavoro in cui l'attività può essere gestita in modo sicuro dal thread di lavoro di sistema. In questo modo non è necessaria alcuna rappresentazione.
Per terminare la rappresentazione dell'utente, chiamare la routine SeStopImpersonatingClient .
La routine PsImpersonateClient può essere usata per fare in modo che un thread del server rappresenta un client.
Per altre informazioni sulla sicurezza e sul controllo di accesso, vedere Modello di sicurezza di Windows per sviluppatori di driver e la documentazione su questi argomenti in Windows SDK.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 |
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |