Condividi tramite


Sessioni di accesso client

Un server con il privilegio SE_TCB_NAME, ad esempio un servizio Windows in esecuzione nell'account LocalSystem, può chiamare la funzione LogonUser per autenticare un client nel computer in cui è in esecuzione il server. La funzione LogonUser avvia una nuova sessione di accesso e restituisce un token di accesso primario contenente le informazioni di sicurezza del client. È possibile usare questo token primario per chiamare la funzione ImpersonateLoggedOnUser per rappresentare il client o chiamare la funzione CreateProcessAsUser per creare un processo eseguito nel contesto di sicurezza del client.

Il vantaggio di autenticare il client in questo modo è che il server che rappresenta il client autenticato o un processo creato nel contesto del client autenticato, può connettersi alle risorse di rete remote come client. Se questa autenticazione non viene eseguita, il server può connettersi alle risorse di rete solo se ha acquisito il nome e la password dell'account del client per passare alla funzione WNetAddConnection2 .

Lo svantaggio dell'autenticazione del client in questo modo è che il server deve avere acquisito le credenziali del client (nome di dominio, nome utente e password). Se un client remoto fornisce queste credenziali al server, è responsabilità del client e del server assicurarsi che le credenziali vengano trasmesse in modo sicuro.