Q:

FormsAuthenticate + jQuery Ajax

Estou criando uma aplicação que usa o FormsAuthenticate para logar no sistema. 
No entanto, gostaria de fazer um tratamento para que em uma requisição ajax (jquery) feita quando o usuário não estiver logado. 
Coloquei um $(document).ajaxComplete(function (event, xhr, settings) {})).  Porém, quando o servidor informa que não há um login e dá um redirect para a página de login, o xhr.status é retornado como 404. 
Fazendo uma pesquisa, achei esse site.  A solução dada com ApplicationAuthorizeAttribute:HandleUnauthorizedRequest é bem o que eu estava imaginando.  
Segue a principal classe:método
public class ApplicationAuthorizeAttribute : AuthorizeAttribute
{
    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
        var httpContext = filterContext. HttpContext;
        var request = httpContext. Request;
        var response = httpContext. Response;
        var user = httpContext. User;

        if (request. IsAjaxRequest())
        {
            if (user. Identity. IsAuthenticated == false)
                response. StatusCode = (int)HttpStatusCode. Unauthorized;
            else
                response. StatusCode = (int)HttpStatusCode. Forbidden;

            response. SuppressFormsAuthenticationRedirect = true;
            response. End();
        }

        base. HandleUnauthorizedRequest(filterContext);
    }
}

Eu só não sei como colocar isso no meu código. ( meu inglês não é muito bom).  Tem alguma forma dessa classe ser carregada automaticamente para que o overriding possa ser executado? 

A:

Consegui. 
Primeiro, removi do web.config o "<authorization>" deixando apenas o "<authentication>"
<authentication mode="Forms">
  <forms loginUrl="~/Login" name="nome"></forms>
</authentication>

Uma vez criada a classe citada na pergunta, o atributo "ApplicationAuthorize" será criado e poderá ser utilizado. 
A partir daí, eu coloquei nas classes/métodos que eu quero que o usuário esteja logado para acessa-los, o atributo.  Por exemplo:
[ApplicationAuthorize]
public class HomeController : GlobalController
{
    // GET: Home
    public ActionResult Index()
    {
        return View();
    }
}

Com isso, apenas usuários logados poderão acessar a Home. 
Isso também me ajudou a fazer um controle no jquery para requisições AJAX feitas quando o usuário perde a sessão, por exemplo.  O AJAX recebe um status 401 (e não um 302 seguido de um 200 com o html da página de login, como estava acontecendo antes)

