En un mundo de Active Directory, asumiendo que tanto el cliente como el servidor viven en el mismo dominio, entonces la autenticación que ocurrió en el cliente puede mostrarse al servidor, de manera que convenza al servidor. Esto funciona porque un usuario autenticado en una máquina obtiene un "ticket", que en realidad es un tipo de referencia autenticada por el servidor AD; cuando el cliente muestra el ticket al servidor, el servidor puede mostrarlo a su servidor AD, y el servidor AD responderá que, efectivamente, el ticket está bien. Los detalles pueden ser complejos, pero puede dejar todo el trabajo a las bibliotecas de Microsoft.
Si el lado del servidor es un servidor IIS con ASP.NET, y el cliente usa .NET, entonces esto es bastante simple para configurar. Si quieres hacer el trabajo tú mismo, por ejemplo. al usar direct TcpListener
y TcpClient
, esto implicará, de hecho, más trabajo; vea los enlaces proporcionados por @ makerofthings7.
Tenga en cuenta que seguirá queriendo usar SSL, para frustrar a los intrusos.
Si el cliente y el servidor no son parte del mismo dominio, entonces las cosas se vuelven un poco más complejas, porque la aplicación cliente debe obtener las credenciales correctas (es decir, el nombre de usuario y la contraseña) para el dominio del servidor, mientras se ejecuta la aplicación en el dominio del cliente distinto. De forma alternativa, puede utilizar la autenticación de cliente basada en certificados, que se puede acoplar con SSL; en ese caso, el usuario cliente debe tener un certificado apropiado y una clave privada instalados en su almacén de certificados personales, y la aplicación los usará.