Hello everyone, I am going to share the code
sample to Redirect to unauthorized controller action on OnAuthorization using ASP.NET MVC. i.e.
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary { { "Controller", "Error" }, { "Action", "AccessDenied" } });
base.OnAuthorization(filterContext);//returns to
AccessDenied page URL.
The
detail code sample as given below
namespace Authorization.Models
{
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
AspDotNetUserRepository _aspNetRepo = new AspDotNetUserRepository();
if
(filterContext.HttpContext.Request.IsAuthenticated)
{
if (!String.IsNullOrEmpty(userRole))
{
if
(!userRole.Equals(Roles))
{
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary { { "Controller", "Error" }, { "Action", "AccessDenied" } });
FormsAuthentication.SignOut();
base.OnAuthorization(filterContext);//returns to
AccessDenied page URL.
}
}
}
}
}
}