2017-01-09 5 views
0

Ich bin dabei, die Benutzerverwaltung in meine .net-Core-API zu implementieren, die cqrs + eventstore verwendet.Ich möchte die Benutzerverwaltung in meinen .net-Kern implementieren. Api

Mein Gedanke: Da ich Mongo für die meisten meiner Domain-Modelle verwenden werde, dachte ich, warum nicht auch meine Benutzer zu speichern.

, d. H. Haben einen CreateUser Befehl und Abfrage-Dienst, der UserCreated Ereignis abonnieren und Benutzer in Mongo speichern.

Ich hatte gehofft, ASP.NET Core Identity für meine Benutzerverwaltung zu verwenden, aber überall sehe ich Identität, z. https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity, es geht mit asp.net mvc app. Was mich denken lässt, wenn ich sogar Identität brauche. Ich werde mein api für verschiedene Kunden, Mobile, Web aussetzen usw.

entlang dort zu lesen ist auch ein IdentityServer4, die ich nicht bekommen, ganz wie es passt.

Wer mich in der Punkt richtige Richtung?

+0

Sie müssen MVC nicht verwenden, um das Identity-Zeug zu verwenden. Identity verwendet nur Entity-Framework, um Ihnen ein paar Tabellen zu geben, und gibt Ihnen einige Serviceklassen für grundlegende Dinge wie das Erstellen/Aktualisieren von Benutzern, Authentifizieren, Verwalten von Ansprüchen, Generieren von Token zum Überprüfen einer E-Mail-Adresse oder das Zurücksetzen eines Passworts. Ich würde definitiv empfehlen, die eingebaute Identität zu verwenden - sie ist gut durchdacht und leicht an Ihre Bedürfnisse anzupassen. Es integriert sich gut mit MVC über Autorisierungsattribute usw., aber Sie müssen MVC nicht verwenden, um Identität zu verwenden. – PersonThing

+0

also was sagst du ist, dass ich web api verwenden werde, um diese zu erstellen/aktualisieren usw. aufgaben wie "UserManager.cs", etc? d. h. (Clients: Web, Mobile usw.) -> Web API -> (Identität + EF)? –

+0

Das ist die Idee, ja. – PersonThing

Antwort

0

Sie benötigen MVC nicht, um Identität zu verwenden. Ich würde Identity Server empfehlen (es gibt ein gutes Tutorial von seinem Ersteller auf Pluralsight).

Sie können sehr gut über eine Web-API in .Net Core verfügen und Identity Server verwenden, um Token usw. zu erstellen. Dies ist der empfohlene Authentifizierungsmechanismus, wenn Sie verschiedenen Clients (Plattformen) zur Verfügung stellen möchten.

Macht es Sinn?

Verwandte Themen