HandleUnauthorizedRequest no anular

En mi aplicación mvc3 de asp.net, tengo un Atributo de Autorización personalizado como se ve a continuación.

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);
    }
}

Tengo[CustomAuthorize] etiqueta en mis acciones del controlador, y laAuthorizeCore el método funciona bien: ejecuta la lógica que quiero (asegurándose de que la cuenta esté realmente habilitada) y luego vuelva como tal.

Sin embargo, la anuladaHandleUnauthorizedRequest El método, que, según tengo entendido, debería permitirme controlar el comportamiento de una solicitud no autorizada, no se ejecuta en absoluto. Puse un punto de interrupción allí, puse el código allí, accedo a mi aplicación no autorizada y el código nunca se ejecuta.

¿Qué me estoy perdiendo?

EDITAR: Hice un poco más de investigación y encontré algunas otras personas que tenían este problema, pero desafortunadamente no hay solución.

EDIT2: código de muestra

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

EDIT 3: @Fabio

Esto es lo que estoy tratando de hacer. Tengo una página de inicio de sesión (formularios de autorización) que funciona bien: llama a mi inicio de sesión personalizado y luego llama a mi anulación de AuthorizeCore. Mi aplicación usa una gran cantidad de llamadas ajax, y mi objetivo final es para cuando un usuario esté usando la aplicación, y el administrador las deshabilite, hacer una llamada ajax después de ser deshabilitada (aunque todavía esté conectada) debería cerrar la sesión. Sin embargo, para hacer esto, quiero devolver una respuesta personalizada si el usuario está haciendo una llamada ajax, y para eso, necesito aprobar HandleUnauthorizedized Request. Pero mi Authorize Core (y, por extensión, HandleUnauthorizedRequest) se ignora si el usuario ha iniciado sesión (a pesar del hecho de que tengo etiquetas personalizadas en todas las acciones de mi controlador que el ajax está llamando).

En resumen: quiero autorizar al usuario en cada solicitud, no solo en la solicitud de inicio de sesión (que parece ser lo que el proveedor de membresía está haciendo en este momento)

Respuestas a la pregunta(2)

Su respuesta a la pregunta