Funzione SeImpersonateClientEx (ntifs.h)
La routine SeImpersonateClientEx fa in modo che un thread impersoni un utente.
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 in parametro ServerThread non dispone di diritti di accesso sufficienti per rappresentare l'utente il cui contesto client di sicurezza è specificato nel parametro ClientContext. |
|
SeImpersonateClientEx rilevato un errore di allocazione del pool durante l'allocazione della memoria per la struttura delle informazioni di rappresentazione. |
Osservazioni
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, accettare 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 utilizzata per rappresentare un client da parte di un thread del server.
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.
Fabbisogno
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 |