Ich modifiziere ein System geschrieben in C# MVC im Moment.Autorisieren Attribut arbeitet nicht mit Rollen MVC C#
Ich habe gerade einen zusätzlichen Teil der Funktionalität im Administratorbereich eingebaut, der es dem Administrator ermöglicht, ein Benutzerkonto mit eingeschränkter Administratorfunktionalität zu erstellen. Ich habe das folgende setzen über jede der Steuerungen für die neue Funktionalität:
[Authorize(Roles = "Administrator")]
Allerdings, wenn ich bei der Verwendung begrenzter Administrator-Konto anmelden und auf dieser Seite navigieren, es lässt mich durch.
Ich bin ratlos, weil ich das anscheinend richtig mache, aber ich bin auch ziemlich neu bei MVC, gibt es noch etwas, das ich überprüfen kann? Ich habe nichts in der Datei web.config geändert, so dass es in Ordnung sein sollte.
Ich weiß, dass es oben begrenzte Informationen gibt, nicht auf der Suche nach einer fertigen Lösung, mehr Ratschläge, was ich überprüfen kann, um das Problem zu beheben.
dank
EDIT:
Dies ist, wie die neue Rolle/Konto erstellt wurde. Gehen Sie auch einfach, das ist ein erster Versuch, es gibt nicht viel Validierung.
[Authorize(Roles = "Administrator")]
[HttpPost]
public ActionResult AddSalesManager(App.Web.Areas.Administrator.Models.SalesManager model, FormCollection formValues)
{
if (formValues["Cancel"] != null)
{
return RedirectToAction("Index");
}
if (!string.Equals(model.password, model.confirmpassword))
{
ModelState.AddModelError("password", "Password and Confirmation must match");
}
if (ModelState.IsValid)
{
using (ModelContainer ctn = new ModelContainer())
{
// First, create the user account inside the ASP.Net membership system.
//
Membership.ApplicationName = "App";
Roles.ApplicationName = "App";
if (!Roles.RoleExists("LimitedAdmin"))
Roles.CreateRole("LimitedAdmin");
// MembershipCreateStatus createStatus = MembershipService.CreateUser(model.email, model.password, model.email);
if (Membership.GetUser(model.email) == null)
{
Membership.CreateUser(model.email, model.password);
Roles.AddUserToRole(model.email, "LimitedAdmin");
}
}
}
return RedirectToAction("Index");
}
Posting, wie Sie die Rolle gesetzt würde helfen. – jfar
Wird tun, zwei Sekunden. – 109221793
Hat der Benutzer mehrere Rollen? – jfar