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.
Früher war es ganz einfach: Windows- oder Formularauthentifizierung und dann nur eine einfache Konfiguration in der Datei web.config und möglicherweise ein benutzerdefinierter Anbieter. Aber jetzt scheint es viel mehr Optionen mit OWIN, OAuth, Token-basierte Authentifizierung, etc. zu geben.
Wo fange ich an? 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.
Nun, es hängt davon ab, was Sie wirklich brauchen.
Wenn Sie nur AD-Benutzer authentifizieren möchten, können Sie versuchen, sich in ihrem Namen in AD zu authentifizieren, und im Erfolgsfall geben Sie entweder einen Token oder einen Authentifizierungscookie zurück.
Aber ich denke nicht, dass es eine gute Idee ist, Benutzer dazu zu bringen, ihr Domänenkennwort zu verwenden, es sei denn, Sie verfügen über eine Zwei-Faktor-Authentifizierung.
Es ist besser, das AD-Schema mit zusätzlichen Daten für die Authentifizierung durch Ihren Dienst zu erweitern oder sogar einen eigenständigen Authentifizierungsserver mit zugehörigen Domänenbenutzerinformationen zu verwenden. 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, manchmal kann dies für das Outsourcing von Aufgaben wichtig sein.
Sehen Sie sich IdentityServer
an