2012-03-30 10 views
1

Es gibt viele Lösungen für Dritt dezentrale Authentifizierung, die ziemlich einfach einzurichten sind: melden Sie sich mit Facebook-Anmeldeinformationen, OpenID, OAuth usw.Dezentrale Authentifizierung gegenüber Windows-Domäne

Wie kann ich etwas ähnliches innerhalb der Firewall zu tun , in einer Windows-Domänenumgebung?

Das Szenario:

  • Python Web-Anwendung innerhalb der Firewall, auf einem Linux-Server gehostet werden.
  • Benutzer haben Windows-Desktops und authentifizieren zu einer Windows-Domäne

Ich weiß, ich LDAP ein Benutzername/Passwort gegen Active Directory validieren verwenden, aber das ist nicht das, was ich will. Ich möchte nicht, dass meine App den Benutzernamen/das Passwort überhaupt verarbeitet. Ich möchte, dass es so funktioniert wie OpenID, d. H. Meine App leitet den Benutzer auf eine Art Windows-Identitätsprovider-Webseite um.

Gibt es dafür eine vorkonfigurierte Windows/IIS-Lösung?

EDIT:

Antwort

2

Bei dem Risiko, zu viele Antworten zu geben, klingt es für mich wie ADFS 2.0 ist Ihr Weg des geringsten Widerstandes. Was die Integration von Claims-basiertem Zugriff in Ihre Python-Anwendung angeht, habe ich pysaml2 empfohlen, um dies zu tun, aber ich kann nicht aus Erfahrung sprechen.

+0

Sieht vielversprechend aus. Gibt es ein gutes Tutorial für mein Szenario? – codeape

+0

Ich bin kein Python-Typ, also weiß ich nicht viel über pysaml2, abgesehen von der Website, die ich verlinkt habe. Auf der ADFS-Seite gibt es umfangreiche Dokumentationen. Ich weiß nicht, ob es irgendwelche ADHS für Python SP-spezifische Tutorials gibt, aber alles, was Sie für ADFS benötigen, ist ein Leitfaden, der Ihnen zeigt, wie Sie ihn als SAML2-Identity-Provider bereitstellen. Hier ein Beispiel: http://technet.microsoft.com/en-us/library/adfs2-federation-with-ping-identity-ping-federate(v=ws.10).aspx –

+0

Ein weiterer interessanter Link: http://wiki.service-now.com/index.php?title=Configuring_ADFS_2.0_to_Communicate_with_SAML_2.0 – codeape

2

Ich bin kein Windows-Typ, aber Crowd von Atlassian:

  • unter Windows ausgeführt wird
  • gegen Active Directory authentifizieren kann
  • Enthält ein OpenID-Provider

Wenn Sie also mit OpenID arbeiten, haben Sie alles, was Sie brauchen.

+0

Sieht aus wie Crowd funktionieren würde. Es gibt jedoch ein paar Dinge, die ich nicht mag. Es ist Java-basiert, ich würde eine Lösung bevorzugen, die einfacher in eine Windows-/IIS-Umgebung zu integrieren ist. Eine IIS-Anwendung wäre ideal. – codeape

1

WIF zusammen mit Azure ACS wird dies aus der Box bieten. z.B. Adding a Custom OpenID Provider to ACS… with JUST ONE LINE of PowerShell Code.

Oder Sie könnten mit Dot Net Open Auth entweder mit Ihrem eigenen STS oder mit etwas wie Identity Server integrieren.

+0

WIF und DotNetOpenAuth sind beide .NET-Frameworks, so dass sie nicht viel helfen werden, seine Python-App zu integrieren, es sei denn, es ist Iron Python.ACS ist eine interessante Option, wenn er seine App mit mehreren Identity-Anbietern verbinden will, aber es klingt wie er will nur interne Windows integrierte Auth. –

+0

Kann Azure ACS auf einer internen Windows Server-Box installiert werden? Oder ist es nur auf der Azure-Cloud-Plattform verfügbar? – codeape

+0

Nein - Nur auf der Azure Cloud-Plattform verfügbar. Aber sieh dir meine anderen Vorschläge an. Beide können intern installiert werden. Je nach Anwendungsfall benötigen sie jedoch möglicherweise einen externen Zugriff. – nzpcmad