2012-07-07 4 views
9

Problema Quiero ser capaz de usar la autenticación de Windows con Node.js.Autenticación de Windows a través de la solicitud web C++/Node.js

Entiendo que IIS maneja la Autenticación de Windows en ASP.NET; sin embargo, lo que no puedo entender es cómo puedo obtener el nombre de usuario actual de Windows Client de node.js. Entiendo que no se está ejecutando a través de IIS (y realmente no quiero ir por la ruta IISNode).

Debe haber una forma de obtener el nombre de usuario de Windows del Cliente a través de Node.js, incluso si tengo que escribir una biblioteca/servicio de C++.

Las primeras ideas eran que podría configurar un servicio web dentro de ASP.NET, que utilizaría la autenticación de Windows, y permitirme usar una solicitud web para obtener ese usuario, ¡pero esto es quizás demasiado ingenuo!

No quiero pedirle al usuario su nombre de usuario y contraseña, ya que no entiende el punto.

¿Alguna idea, pensamiento o lugar que pueda mirar? ¿O esto simplemente no es posible?

Nota: Esto se encuentra dentro de una Intranet cerrada, y la Autenticación de Windows se usa dentro de nuestras aplicaciones ASP.NET junto con Active Directory.

+1

Lo que creo que está buscando es http://en.wikipedia.org/wiki/Integrated_Windows_Authentication y la autenticación NTLM. –

Respuesta

1

Enfoque

A menos que me olvido de algunos de los requisitos, usted debe ser capaz de configurar un sitio web de IIS para retransmitir peticiones a la aplicación Node.js para que

  • Un navegador cliente autenticar contra su sitio de IIS;
  • El sitio de IIS reenviará la solicitud autenticada a la aplicación Node.js y volverá al cliente.

Asegúrese de deshabilitar el acceso anónimo y solo use IWA para el sitio de IIS.

Consulte Relaying a request in ASP.NET para ver un par de ejemplos de cómo retransmitir solicitudes en ASP.NET con C# o VB. También tendría que pasar el nombre de usuario con un encabezado o un parámetro GET/POST:

Response.AppendHeader("CustomUserNameHeader", Page.User.Identity.Name); 

Supuestos

  • La aplicación Node.js necesita conocer el nombre del usuario conectado en la computadora del cliente.
  • Es posible hacer que la aplicación Node.js solo sea accesible desde el sitio IIS, de lo contrario, la solución es completamente insegura.
+0

Suena bien, voy a echar un vistazo a esto y probarlo. – mrdnk

Cuestiones relacionadas