Confirmar nombre de usuario de NT + contraseña en ASP.NET
Pregunta
Quiero poder autenticar una combinación de nombre de usuario / contraseña de NT a través de un sitio ASP.NET, completamente separado del nombre de usuario que se reconoce a través de Request.ServerVariables (" LOGON_USER ") y similares. Hay cuentas que tendrán los derechos para anular completamente a otros, pero los usuarios tendrán que ingresar la contraseña correcta para hacerlo.
Intenté usar la función LoginUser desde advapi32.dll, pero eso solo intenta iniciar sesión en la máquina local (que sería el servidor de aplicaciones). ¿Hay algo que funcione para verificar la red en general?
Solución
Podrías autenticarte contra Active Directory.
Una aplicación ASP.NET puede usar formularios autenticación para permitir a los usuarios autenticar contra Active Directory usando el acceso ligero al directorio Protocolo (LDAP). Despues el usuario es autenticado y redirigido, puedes utilizar el Método Application_AuthenticateRequest del archivo Global.asax para almacenar una Objeto GenericPrincipal en el Propiedad HttpContext.User que fluye a lo largo de la solicitud.
Otros consejos
¿Ha pensado en utilizar LDAP y ADAM (Active Directory en modo de aplicación)?
Eso le permitiría autenticar a los usuarios de la manera que está buscando. Encontré algunos artículos para ti: