Personalizando a autorização no ASP.NET MVC

A classe My Controller é decorada com um AuthorizeAttribute para proteger as ações:

[Authorize(Roles = "User Level 2")]
public class BuyController : Controller
{
    ...
}

Sempre que uma ação é chamada, mas o usuário não possui pelo menos a função "Nível 2 do usuário", ele é automaticamente redirecionado para a página de login com um URL como este:

http: // localhost: 1436 / Conta / Login? ReturnUrl =% 2fComprar

Se o usuário já está logado, mas não possui o nível de segurança correto, esse não é um comportamento ideal! Seria mais sensato exibir uma página que informa o usuário sobre o nível que falta, em vez de mostrar a página de login.

O que posso fazer para personalizar esse comportamento? É possível passar o nível de usuário necessário para a ação Login de alguma forma?

questionAnswers(2)

yourAnswerToTheQuestion