Ich bin neu in .NET, MVC & Identity Framework. Mir ist aufgefallen, dass das Identitäts-Framework es ermöglicht, einzelne Controller-Aktionen über Annotationen zu sichern.Berechtigungsbasierte Autorisierung .net-Identität
[Authorize]
public ActionResult Edit(int? Id){
//edit action
}
Ich möchte bestimmte Aktionen basierend auf Benutzerberechtigungen sichern.
Beispiel: Eine Bloganwendung, in der nur der Benutzer, der einen Blogeintrag erstellt hat, bearbeiten kann.
In diesem Sinne, ist es möglich, beide Optionen unten auszuführen? Wenn ja, gibt es Ressourcen und Beispiele dafür, wie Sie am besten erreichen können?
[Authorize(Entity = "Entry", Permission = "Edit", Id = Id)]
public ActionResult Edit(int? Id){
//edit action
}
oder
[BlogEntryPermission(Permission = "Edit", Id = Id)]
public ActionResult Edit(int? Id){
//edit action
}
Wo Blog Id
aus der Anforderung erfasst wird.
Jede Information oder Richtung auf Berechtigung basierte Authentifizierung würde am meisten geschätzt werden. Vielen Dank im Voraus für Ihre Hilfe.
Vielen Dank für die Richtung.Beim Versuch, auf die Pfadvariable zuzugreifen, tritt jetzt ein Problem auf. var id = httpContext.Request.Form ["BlogId"]; funktioniert nicht für Pfadparameter, die wie folgt definiert sind:/BlogPost/Edit/1. Gibt es eine saubere Möglichkeit, auf diese Variable zuzugreifen? context.Request.RequestContext.RouteData.Values.ElementAt (2) .Wert funktioniert, aber nicht sicher ist etwas, auf das ich mich verlassen möchte. – mcroteau
@croteau Sie können 'context.Request.RequestContext.RouteData.Values [" Id "]' –