In un mondo di Active Directory, supponendo che sia client che server risiedano nello stesso dominio, l'autenticazione che si è verificata sul client può essere mostrata al server, in modo da convincere il server. Questo funziona perché un utente autenticato su una macchina riceve un "ticket" che in realtà è una sorta di riferimento autenticato dal server AD; quando il client mostra il ticket sul server, il server può mostrarlo al suo server AD e il server AD risponderà che il ticket è effettivamente valido. I dettagli possono essere complessi ma puoi lasciare tutto il lavoro alle librerie Microsoft.
Se il lato server è un server IIS con ASP.NET e il client utilizza .NET, questo è piuttosto simple da configurare. Se vuoi fare il lavoro da solo, ad es. utilizzando direttamente TcpListener
e TcpClient
, allora questo comporterà, anzi, più lavoro; guarda i collegamenti forniti da @ makerofthings7.
Nota che vuoi comunque utilizzare SSL, per contrastare gli eavesdroppers.
Se client e server non fanno parte dello stesso dominio, le cose diventano un po 'più complesse, perché l'applicazione client deve in qualche modo ottenere le credenziali giuste (cioè il nome utente e la password) per il dominio del server, mentre l'applicazione viene eseguita nel dominio del cliente distinto. In alternativa, è possibile utilizzare l'autenticazione client basata su certificato, che può essere accoppiata con SSL; in tal caso, l'utente del client deve avere un certificato appropriato e una chiave privata installata nel suo archivio di certificati personali e l'applicazione lo utilizzerà.