Die anspruchsbasierte Autorisierung in ASP.NET Kern
Gibt es eine autorisierende Beispielprojekt unter Verwendung anspruchsbasierte Autorisierung für ASP.NET Core?
Etwas wie [https://silk.codeplex.com/] für MVC.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würden 1 Stunde workshop zu tun?
https://github.com/blowdart/AspNetAuthorizationWorkshop
Beachten Sie das nicht wirklich sagen, Ansprüchen, denn das ist keine Besonderheit mehr. Alle Identitäten in ASP.NET Core (Kern jetzt nicht vNext) sind Ansprüche Identitäten.
Aus meiner persönlichen Erfahrung gibt es nur sehr wenig durch eine richtige Erklärung der Forderungen und wie diese auch wirklich benutzt werden. Also ich werde meine Erklärung durch ein Beispiel. Es nutzt die Standard-ASP.NET MVC-Kern-Projekt erstellt in Visual Studio 2015.
Der wesentliche Sache zu erinnern, ist hier ein Benutzer kann über viele Forderungen. Er kann den Anspruch auf "administrator" und den "Namen" gleich "bhail" etc. Daher auch der Grund, warum verwenden Sie das Wort behaupten. Das interessante an der Sache ist, dass Behauptet werden kann, bereitgestellt von der ASP.Net Anwendung oder auch aus anderen Quellen wie Facebook, Twitter, etc. Dies ist sehr wichtig, da wir mit der SPAs-und Mobile-Apps, die tokens, die wiederum einbetten Ansprüche. Aber das ist für einen anderen Tag.
Im Beispiel unten habe ich geändert, die Standard-AccountController zu reservieren eine Anzahl von Forderungen zu einem Benutzer, wenn Sie registrieren:
Toll ! Wir haben nun Ansprüche gegen einen Nutzer gespeichert. Diese wiederum befinden sich in der persistent store (Datenbank). Die Tabelle XXX _Security_User_Claim. Ich habe XXX als ich-Präfix alle meine Tabellennamen einschließlich der Identität Tabellen, so kann ich mehrere clients, die mit Sicherheit auf die gleiche Datenbank zu vermeiden, hosting-Kosten. Sollte die Tabelle enthält die Einträge:
1 http://schemas.microsoft.com/ws/2008/06/identity/claims/role Admin 2
2 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name Bhail 2
3 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth 01/01/2000 2
4 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country UK 2
Nun sind wir fertig mit dem, was der Benutzer tun können, die wir brauchen, um unsere Aufmerksamkeit zu, wie der Server verarbeitet diese. Also müssen wir, um Richtlinien zu erstellen. Eine Richtlinie ist eine Sammlung von Forderungen. Also im Systemstart.cs
Der wichtige Punkt zu erinnern ist, die Richtlinien sind fest verdrahtet. Und Sie sollten die PolicyTypes das sind die gleichen, wie Sie dem Benutzer zugeordnet sonst funktioniert es nicht richtig.
Der Letzte Schritt besteht darin, die Politik gegen die contorllers und/oder Aktionen, die überprüft wird. So in der HomeController, die ich Hinzugefügt habe folgende Richtlinie Überprüft:
public class HomeController : Controller
{
öffentliche IActionResult Index()
{
return View();
}
Dort gehen Sie ! Im Grunde Richtlinien sind Sammlungen von Forderungen. Kontrollen sind gegen die Richtlinien. Und die Forderungen selbst sind zugewiesen an Benutzer. Im Gegensatz zu den Rollenzuweisungen Sie haben jetzt die Kraft und die Flexibilität zu tun, viele zu viele, Genehmigung aus einer Vielzahl von Quellen.