Windows-Authentifizierung über Web Request C ++ / Node.js

9

Problem Ich möchte Windows-Authentifizierung mit Node.js verwenden können.

Ich verstehe, dass IIS Windows-Authentifizierung in ASP.NET behandelt, was ich jedoch nicht herausfinden kann ist, wie ich den aktuellen Client Windows-Benutzernamen von node.js bekommen kann. Ich bekomme, dass es nicht über IIS läuft (und nicht wirklich die IISNode-Route hinunter gehen will).

Es muss eine Möglichkeit geben, den Benutzernamen des Clients über Node.js abzurufen - selbst wenn ich eine C ++ - Bibliothek / einen C ++ - Dienst schreiben muss.

Die ersten Gedanken waren, dass ich in ASP.NET einen Webdienst einrichten könnte, der die Windows-Authentifizierung verwenden und mir erlauben würde, eine Webanfrage zu verwenden, um diesen Benutzer zu bekommen - aber das ist vielleicht zu naiv!

Ich möchte den Benutzer nicht nach seinem Benutzernamen und Passwort fragen - da dies den Punkt verfehlt.

Irgendwelche Ideen, Gedanken oder Orte, die ich sehen kann? Oder ist das einfach nicht möglich?

Hinweis: Dies ist in einem geschlossenen Intranet und Windows-Authentifizierung wird in unseren ASP.NET-Anwendungen zusammen mit Active Directory verwendet.

    
mrdnk 07.07.2012, 13:25
quelle

1 Antwort

1

Ansatz

Sofern ich einige der Anforderungen nicht vermisse, sollten Sie in der Lage sein, eine IIS-Website einzurichten, um Anfragen an Ihre Node.js-Anwendung weiterzuleiten, so dass

  • Ein Client-Browser authentifiziert sich bei Ihrer IIS-Site;
  • Die IIS-Site leitet die authentifizierte Anforderung an die Node.js-App und zurück an den Client weiter.

Stellen Sie sicher, dass Sie den anonymen Zugriff deaktivieren und nur IWA für die IIS-Site verwenden.

Siehe Weiterleiten einer Anfrage in ASP.NET für einige Beispiele, wie Anfragen in ASP.NET mit C # oder VB weitergeleitet werden. Sie müssen den Benutzernamen auch mit einem Header oder einem GET / POST-Parameter übergeben:

%Vor%

Annahmen

  • Die Node.js-App muss den Namen des Benutzers kennen, der auf dem Client-Computer angemeldet ist.
  • Es ist möglich, die Node.js-App nur von der IIS-Site aus zugänglich zu machen, andernfalls ist die Lösung völlig unsicher.
Serge Belov 15.11.2012, 02:39
quelle