Возможно ли это?
Конечно, вы можете написать собственный атрибут авторизации:
public class MyAuthorizeAttribute : AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new ViewResult
{
ViewName = "~/Views/Shared/401.cshtml"
};
}
}
и затем использовать его:
[MyAuthorize(Roles = "Admin")]
public ActionResult Edit(int id)
Примечание: вы, вероятно, захотите показать страницу 401 или 403, если пользователь не авторизован, вместо 404, что для файла не найден.