Frage

Ich glaube, dass wir Firefox erlauben können, NTLM -Daten an SharePoint -Websites zu senden, um eine automatische Authentifizierung durchzuführen, und ich denke, dass dies mit IIS machbar ist.

Ich würde gerne dasselbe mit einem internen Schienenplatz machen.

Weiß jemand, wie ich NTLM -Typ -Benutzerinformationen über ein Apache/Mongrel -Setup authentifizieren könnte (vorausgesetzt natürlich, dass es bereits in einem Windows -Feld in einer Active Directory -Domäne ausgeführt wird)?

War es hilfreich?

Lösung

Ich gehe davon aus, dass Sie bereits herausgefunden haben, welche HTTP -Header Sie senden müssen, um Firefox zu erhalten, und IE, um die NTLM -Authentifizierungsmaterial zurückzuschicken, und müssen das nur auf der Serverseite verarbeiten?

Sie könnten einige von Ruby verwenden Win32 Bibliotheken So greifen Sie auf die zugrunde liegenden Windows -Authentifizierungsfunktionen zu, die das NTLM verarbeiten.

Ich würde vorschlagen, dass der Pfad des geringsten Widerstands möglicherweise besteht, ob es eine COM -Komponente gibt, die die Authentifizierung für Sie durchführen kann, und wenn ja, sie mit der Win32ole Ruby -Bibliothek zu verwenden.

Wenn es keine COM -Komponente gibt, können Sie möglicherweise etwas in einer dieser anderen Bibliotheken finden, die die nativen Win32 -Methoden für Sie aufrufen können.

Wenn Sie das nicht finden können, müssten Sie eine Ruby C -Erweiterung schreiben. Ich habe dies unter Linux gemacht und Ruby zu erweitern ist ziemlich einfach, aber vielleicht finden Sie die Microsoft -Authentifizierungs -API etwas schmerzhaft.

Hoffe das bringt dich auf den richtigen Weg :-)

Andere Tipps

ich erschuf Tutorial zum Installieren des Patched Mod_ntlm Modul Für Apache unter Linux und wie man den NTLM -authentifizierten Benutzernamen an Rails übergibt und wie die Rails -Sitzung daraus erstellt wird. Infolgedessen benötigen Sie keinen Windows -Server für das Ausführen von Rails -Anwendungen.

Dort finden Sie auch, wie Sie die automatische NTLM-Authentifizierung in Firefox aktivieren-eingeben "über: Konfiguration" im Standortfeld und dann nach "network.automatic-ntlm-auth.trrusted-uris" suchen. Dort können Sie Server eingeben, für die Sie eine automatische NTLM -Authentifizierung verwenden möchten.

Ein bisschen zusätzliche Informationen für den Fall, dass jemand darüber stolpert.

Ich wollte etwas tun, von dem ich dachte, dass es ziemlich einfach sein sollte - den Benutzer -Windows -Benutzernamen mit NTLM aus einer Rails -App extrahieren, die auf Mongrel/Windows ausgeführt wird (eigentlich Instantrails). Nachdem Sie den Basiscode geschrieben haben http://rubyforge.org/projects/rubyntlm/) und nachdem ich es in Firefox wunderbar funktionierte, war ich etwas frustriert, wenn ich nicht funktioniert.

Mietgrel unterstützt Keep-Alive nicht während des Typs 1/2/3-Nachrichtenaustauschs (zumindest nativ glaube ich, dass es einen Hack/Fix dafür gibt), den der IE verlangt und Firefox auskommt.

Die Authentifizierung eines Rails -Servers, der unter Windows mit einem Remote -NTLM -Dienst (z. B. SharePoint oder einer anderen Website) ausgeführt wird, ist also einigermaßen einfach, aber die Authentifizierung eines IE -Browsers mit einem Schienenserver, der unter Windows nicht so sehr mit Merrel ausgeführt wird. IIS wäre eine Option, ebenso wie ein grundlegender Apache mit Fastcgi. Ersteres fühlt sich ein bisschen klobig an und letzteres wird nicht so schnell sein wie Mischglasse.

Sie könnten auch die verwenden Apache NTLM -Modul, die einen Kopfball mit dem Benutzernamen des authentifizierten Benutzers an Ihre Anwendung weitergeben sollte. Dieses Modul sieht etwas alt aus, schlägt jedoch einige andere Module vor, die Ihren Bedürfnissen entsprechen könnten.

Alte Frage, die ich kenne, aber ich stieß auf diese und suchte nach einer ähnlichen Antwort.

Sie können die hier beschriebenen Methoden verwenden (http://blog.rayapps.com/2008/12/02/ntlm-windows-domain-authentication-for-rails-anapplication/). Mod_ntlm ist jedoch für die Windows -Authentifizierung auf einem UNIX/Linux -Computer gedacht. MOD_AUTH_SSPI ist das, was Sie für die WINNT -Authentifizierung von Apache unter Windows benötigen.

Dieses spezielle Projekt sieht vielversprechend aus und sucht nach Mitwirkenden:

Ich habe das noch nicht ausprobiert. Im Moment habe ich vor, die Lösung von Raimonds zu implementieren, da sie anscheinend viel Erfolg zu haben scheint.

Kasse Waffel. Es bietet SSO unter Windows an Java -Server mit der Win32 -API. Es gibt eine Reihe implementierter Filter (Servlet, Tomcat-Ventil, Frühlingssicherheit).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top