2014-12-19 6 views
8

Ich habe eine .NET Web API mit einer Reihe von Endpunkten/Methoden, die eine Angular App aufruft. Ich möchte jetzt das Login-System gegen unser Active Directory implementieren und mich fragen, was meine Möglichkeiten sind.AngularJS mit .NET Web API: Authentifizierung mit AD

Zurück in den Tagen, es war einfach: Fenster oder die Formularauthentifizierung und dann nur einige einfache Konfiguration in der web.config und kann ein benutzerdefinierten Anbieter sein. Aber jetzt scheint es, als gäbe es viel mehr Möglichkeiten mit OWIN, OAuth ist, Token basierende Authentifizierung, usw.

Wo soll ich anfangen? Ich habe ein Formular mit Benutzername, Passwort und einem Login-Button in der Angular App, und ich habe das Active Directory im Backend. Was soll passieren, nachdem der Benutzer die Login-Taste gedrückt hat? Jede Richtung würde helfen.

Danke.

+0

Woher kommen die Benutzer? Ist es Intranet? –

+0

Ja, es ist im Intranet für jetzt – Prabhu

+0

Wenn es nur Intranet ist nichts hält Sie davon ab, Windows-Authentifizierung zu verwenden, wie es ist. Sie benötigen sogar kein Authentifizierungsformular. Aber wie ich in meiner Antwort erwähnte, hängt es von Ihren weiteren Plänen ab. –

Antwort

1

Nun, es hängt davon ab, was Sie eigentlich brauchen.

Wenn Sie nur AD-Benutzer authentifizieren, dann können Sie versuchen, AD in ihrem Namen authentifizieren in und bei Erfolg, den Sie entweder Token oder Authentifizierungs-Cookie zurück.

Aber ich glaube nicht, dass es eine gute Idee ist es Benutzern, ihre Domain-Passwort machen verwenden, wenn Sie zwei Faktor-Authentifizierung haben.

Es ist besser, AD-Schema mit zusätzlichen Daten für die Authentifizierung über Ihren Service zu erweitern oder sogar eigenständigen Auth Server mit zugehörigen Domänen-Benutzerinfo zu haben. Schauen Sie, wie es im SQL-Server gemacht wird (aber in umgekehrter Richtung): Sie müssen den internen Benutzer definieren, der der Domänenanmeldung entspricht. Dieser Ansatz ermöglicht es Ihnen, Benutzer zu haben, die nicht zu AD gehören. Dies kann manchmal für das Outsourcing von Aufgaben wichtig sein.

Blick auf IdentityServer

Verwandte Themen