Check the Authorize attribute , you can put it on the entire controller or only certain methods in your controller.
Examples:
[Authorize(Roles = "Administrator")] public class AdminController : Controller {
or
public class AdminController : Controller { //Available to everyone public ActionResult Index() { return View(); } //Just available to users in the Administrator role. [Authorize(Roles = "Administrator")] public ActionResult AdminOnlyIndex() { return View(); } }
Alternatively, you can write your own Authorize attribute to provide your own logic.
public class CustomAuthorizeAttribute : AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase httpContext) { IPrincipal user = httpContext.User; var validRoles = Roles.Split(',');
For use:
[CustomAuthorizeAttribute(Roles = "Admin,Superuser")] public class AdminController : Controller { }
source share