// 新建用户 var user = new ApplicationUser { UserName = "demo", Email = "demo@example.com" }; var result = await UserManager.CreateAsync(user, "Password123!");
// 给用户添加角色 来实现授权 if (result.Succeeded) { await UserManager.AddToRoleAsync(user.Id, "Admin"); }
public class CustomAuthorizeAttribute : AuthorizeAttribute { public CustomAuthorizeAttribute(params string[] roles) : base() { Roles = string.Join(",", roles); }
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new RedirectResult("/Error/Unauthorized");
}
}
public class HomeController : Controller { [CustomAuthorize("Admin")] public ActionResult Index() { return View(); } }
这样,只有被授予“Admin”角色的用户才能访问“Index”页面。如果未授权,用户将被重定向到“/Error/Unauthorized”页面。
上一篇:ASP.NETMVC上通知未发送