2016-03-31 10 views
1

Wir wurden aufgefordert, unsere NodeJS-Anwendung unter IIS (Windows Server 2012R2) zu betreiben und in ein bestehendes Active Directory zu integrieren. Wir wurden aufgefordert, die Anmeldeseite zu entfernen und stattdessen die Windows-Authentifizierung zu verwenden, um die (bereits authentifizierte) Benutzer-ID abzurufen und die Gruppen zu verwenden, denen sie angehören, um ihre Berechtigungsstufe in der App zu steuern.Erhalten Sie authentifizierte Benutzergruppen aus Active Directory in Knoten

Ich habe iisnode installiert, um meine App unter IIS auszuführen, und ich dachte, ich verwende entweder passport-windowsauth oder node-activedirectory, um die Gruppenmitgliedschaft zu erhalten. Beide benötigen jedoch Benutzer/Passwort, um den Benutzer zu authentifizieren. Mein Benutzer ist bereits authentifiziert, und ich habe keinen Zugriff auf sein Passwort (noch sollte ich).

Wie gehe ich vor, um authentifizierte Benutzergruppen aus Active Directory zu erhalten?

Hier ist, was ich bisher:

  1. installiert und iisnode
  2. Aktiviert Windows-Authentifizierung für die Webanwendung
  3. hinzugefügt, dies zu web.config konfiguriert: <iisnode promoteServerVars="AUTH_USER,AUTH_TYPE" />
  4. In meinem index.js Datei, kann ich dann console.log(req.headers['x-iisnode-auth_user']); und bekomme den richtigen Benutzernamen - aber ich weiß nicht, wie ich von hier aus weitermachen soll, um seine/ihre Gruppen
  5. zu bekommen
  6. Unter keinen Umständen will ich
+0

hey, wie bekommt man die Details von bereits authentifizierten Benutzerinformationen in der nodejs App? Fall1: Knoten js App wird auf Windows-Server gehostet Fall 2: Nodejs App ist nicht auf Windows-Server gehostet \ – null1941

Antwort

4

Nun den Benutzer für sein/ihr Passwort erneut fragen, scheint niemand im Blick auf diese Frage interessiert ist :). Ich nehme an, dass IIS + Node.js + Active Directory ein Randfall ist. Hier ist, wie ich das eine Lösung endete:

  1. einen speziellen Benutzer mit dem Active Directory hinzufügen, die nur in dem IIS-Computer protokolliert werden können (Bonus: begrenzen den IP/Prozess/Zugang des Benutzers).
  2. Fügen Sie die AD-Details, den Benutzernamen und das Passwort zur Datei config.json hinzu (siehe snippet). Stellen Sie sicher, dass Sie die Datei .gitignore hinzufügen, damit sie nicht in Repo endet.
  3. Verwenden Sie node-ActiveDirectory, um sich zuerst als Benutzer von Schritt 1 anzumelden und danach nach den Gruppen des angemeldeten Benutzers zu fragen (siehe snippet).