Verwenden Sie Active Directory mit Web-API für SPA
Baue ich einzelne Seite der Anwendung, und ich würde gerne wissen, die Identität des Benutzers. Wir haben Active Directory in unserem intranet, aber ich weiß nicht viel über Sie. Ich bin in der Lage, verwenden Sie code wie diesen, um zu überprüfen, Benutzername und Passwort.
using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "YOURDOMAIN"))
{
bool isValid = pc.ValidateCredentials("myuser", "mypassword");
}
In der Tat, dass ist alles was ich brauche aus dem Active Directory-Seite zu der Sache. So konnte ich einige AuthorizationFilter-mit diesem code, aber dies würde bedeuten, dass Benutzername und Passwort müssen bei jedem request. Ich möchte zum senden von Benutzernamen und Passwort nur einmal und verwenden Sie dann einige Zeichen, die für die Autorisierung. So sollte es einige token provider, in meinem server-seitige Anwendung.
Baue ich diese Anwendung von Grund auf neu, so dass ich die neuesten .net-Technologien. Ich fand, dass es einige Owin middlewares, die Token handling, cookies und OAuth. Könnte alles von mir, mir zu helfen?
- von Ihnen positiv bewertet werden, weil Ihr Ruf war 666. Ugh... Jetzt bist du gut.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich war auf der Suche nach etwas völlig anderem fand ich dieses unglaubliche Projekt auf CodePlex: https://angularapp.codeplex.com/ Es ist genau das, was ich suchte.
Update:
Teil von dieser app, die nützlich war für mich die DomainUserLoginProvider
LoginProvider verwendet wird, im AccountController die Aktion überprüfen Sie die Anmeldeinformationen. Auch der AccessToken wird hier geschaffen.
Last but not least, fügen Sie die korrekte middleware für die Owin-pipeline.
Auf der client-Seite, die Sie gerade senden Sie den Antrag mit Anmeldeinformationen auf dem Token-Aktion der AccountController und erhalten Sie die Authentifizierungs-token. Dieses token speichern in browser ("Remember me" - Funktion) und stellen Sie den Winkel des $http-Dienst anfügen token auf jede Anfrage.
Sicherlich die OAuth ist ein Weg zu gehen, aber warum denken Sie nicht von der alten, guten Formen der Authentifizierung? Es passt in das Szenario perfekt - mit einem benutzerdefinierten Anbieter Sie können die Authentifizierung der Benutzer in den AD und dann alle aufeinander folgenden client-Anfragen tragen Sie die Authentifizierungs-cookie, die verwendet werden können, um die authenticate server-Aufrufe.
Den Formen Cookies in diesem Szenario spielt die Rolle der ein "token", denken Sie.