HandleUnauthorizedRequest não substitui

No meu aplicativo asp.net mvc3, tenho um Atributo de Autorização customizado como mostrado abaixo.

public class CustomAuthorize : AuthorizeAttribute
{
    public IAccountRepository AccountRepository { get; set; }

    public CustomAuthorize()
    {
        this.AccountRepository = new UserModel();
    }

    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        base.AuthorizeCore(httpContext);
        return AccountRepository.isEnabled(HttpContext.Current.User.Identity.Name);
    }

    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) 
    {
        base.HandleUnauthorizedRequest(filterContext);
    }
}

Eu tenho o[CustomAuthorize] tag nas minhas ações do controlador eAuthorizeCore O método funciona bem - ele executa a lógica que eu quero (certificando-se de que a conta está realmente ativada) e retornando como tal.

No entanto, o overriddenHandleUnauthorizedRequest método, que como eu entendo que deve permitir-me controlar o comportamento de um pedido não autorizado, não está funcionando em tudo. Coloquei um ponto de interrupção lá, coloquei o código lá, acessei meu aplicativo não autorizado e o código nunca é executado.

o que estou perdendo?

EDIT: Eu fiz mais algumas pesquisas e encontrei algumas outras pessoas que tiveram esse problema, mas infelizmente nenhuma solução.

EDIT2: código de exemplo

[CustomAuthorize]
public class UserController: Controller
{
    public UserController() 
    {
        //do stuff here
    }
}

EDIT 3: @Fabio

Aqui está o que estou tentando fazer. Eu tenho uma página de login (formulários auth) que funciona bem - ele chama meu login personalizado e, em seguida, chama minha substituição AuthorizeCore. Meu aplicativo usa uma grande quantidade de chamadas ajax, e minha meta final é para quando um usuário estiver usando o aplicativo, e o administrador desativá-los, fazendo uma chamada ajax depois de ser desativado (embora ainda esteja logado) deve desconectá-los. No entanto, para fazer isso, eu quero retornar uma resposta personalizada se o usuário estiver fazendo uma chamada de ajax e, para isso, preciso ovverride HandleUnauthorizedRequest. Mas o meu Authorize Core (e, por extensão, o HandleUnauthorizedRequest) está sendo ignorado se o usuário estiver logado (apesar do fato de que eu tenho o direito de autorizar tags em todas as minhas ações do controlador que o ajax está chamando).

Resumindo: desejo autorizar o usuário em todas as solicitações, não apenas na solicitação de login (que parece ser o que o provedor de associação está fazendo agora)

questionAnswers(2)

yourAnswerToTheQuestion