Ich habe eine ASP.NET 5 (RC1) -Anwendung, für die ich versuche, Authentifizierung und Autorisierung einzurichten. Ich bin jedoch verwirrt und überwältigt von all den unterschiedlichen Authentifizierungs- und Autorisierungsinformationen, die online auf dieser Plattform verfügbar sind. Vieles scheint entweder hoffnungslos veraltet zu sein oder scheint in diesem speziellen Anwendungsszenario einfach nicht zu gelten. Im Moment bin ich mir nicht einmal sicher, was die richtige "Terminologie" für die Frage ist, die ich zu stellen versuche, aber ich schweife ab.Kombinieren Azure AD (b2c) benutzerdefinierte ClaimsIdentity
Was versuche ich zu erreichen, ist ein System, bei dem Benutzer über Azure AD (B2C?) Authentifiziert/autorisiert werden, wobei zusätzliche Benutzerprofilinformationen in einer Datenbank gespeichert werden. Auf den Benutzerkontext in den Controllern wird jedoch in konsistenter Weise zugegriffen, wobei ich davon ausgehe, dass dies eine benutzerdefinierte ClaimsPrincipal/ClaimsIdentity wäre. Ich würde mir vorstellen, dass dies so einfach sein sollte wie das Hinzufügen eines Attributs 'authorize' oder etwas Ähnliches und den Zugriff auf ClaimsPrinciple.Current.Claims.
Ich habe ASP.NET Identity in der Vergangenheit verwendet, aber viele der Beispiele, die ich gefunden habe, verwenden das nicht. Die meisten verwenden einfach die UseOpenIdConnectAuthentication-Middleware. Ich sehe, dass ASP.NET Identity noch verfügbar ist, aber ich bin nicht sicher, dass es in diesem Szenario gilt. Ich habe auch ein paar Beiträge hier gefunden, die vorschlagen, eine benutzerdefinierte ClaimsIdentity zu verwenden, um dies zu erreichen, aber ich habe Probleme, nützliche aktuelle Beispiele zu finden. Übrigens ist mir klar, dass viele dieser "Profil" -Informationen als benutzerdefinierte Attribute in einer azure-Anzeige gespeichert werden können, aber die Art, wie einige der Informationen in der Anwendung verwendet werden, verhindert, dass alles in azur ist (d. H. EF linq-Joins usw.).
Bitte, sagen Sie mir, wenn ich auch nur in der Nähe bin. Ich weiß, dass dies eine ziemlich neue Plattform ist und die Informationen spärlich sind, aber sicherlich bin ich nicht die Einzige, die diese Fragen stellt.
Vielen Dank für die Antwort. Nachdem ich das durchgelesen habe und auch dieses betrachtet habe: https://github.com/aspnet/Identity/blob/ab43154577fe126ef531bb7a11b5eaa03add7bbf/src/Microsoft.AspNet.Identity/PrincipalExtensions.cs#L35-42 Es scheint eine Kombination aus ClaimType und einem Erweiterungsmethode könnte für das, was ich versuche, geeignet sein. Irgendwelche Gedanken dazu? – Brandon
Ja - möglicherweise kombinieren die Ansprüche von AAD und der Info. Du brauchst die DB? – nzpcmad