Вы можете справиться с этим на уровне контроллера или на уровне индивидуального действия.Используйте пользовательский атрибут для перенаправления на нужную страницу (домашнюю страницу в вашем случае), когда вы получаете неавторизованный запрос 401.
public class CustomAuthorize : AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
//filterContext.Result = new HttpUnauthorizedResult(); // Try this but i'm not sure
filterContext.Result = new RedirectResult("~/Home/Unauthorized");
}
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (this.AuthorizeCore(filterContext.HttpContext))
{
base.OnAuthorization(filterContext);
}
else
{
this.HandleUnauthorizedRequest(filterContext);
}
}
}
И применяете его на уровне контроллера или действия
[CustomAuthorize(Roles = "Admin")]