protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            object area = filterContext.RouteData.DataTokens["area"];
            object user = null;

            if (area != null && area.ToString().ToLower().Equals("admin"))
            {
                user = HttpContext.Current.Session["UsrAdmin"];
                HttpContext.Current.Session["clientesDefault_Usuario"] = null;
            }
            else
            {
                user = HttpContext.Current.Session["clientesDefault_Usuario"];
                HttpContext.Current.Session["UsrAdmin"] = null;
            }

            if (user != null)
            {
                if (Permiso == Constantes.cSECCION_CUENTASCORRIENTES)
                {
                    if (!FuncionesPersonalizadas.IsPermisoSeccion(Constantes.cSECCION_CUENTASCORRIENTES))
                    {
                        // Response.Redirect("~/clientes/pages/sinpermiso.aspx");
                        filterContext.Result = new RedirectResult("/config/sinpermiso");
                        return;
                    }
                    else
                    {
                        if (!cPageClientes.IsBanderaUsarDll())
                        {
                            // Response.Redirect("~/clientes/pages/sinusodll.aspx");
                            filterContext.Result = new RedirectResult("/config/sinusodll");
                            return;
                        }
                    }
                }
                else if (Permiso == Constantes.cSECCION_DESCARGAS &&
                         !FuncionesPersonalizadas.IsPermisoSeccion(Constantes.cSECCION_DESCARGAS))
                {
                    filterContext.Result = new RedirectResult("/config/sinpermiso");
                    return;
                }
                else if (Permiso == Constantes.cSECCION_PEDIDOS &&
                         !FuncionesPersonalizadas.IsPermisoSeccion(Constantes.cSECCION_PEDIDOS))
                {
                    filterContext.Result = new RedirectResult("/config/sinpermiso");
                    return;
                }
                if (isCheckEstado && HttpContext.Current.Session["clientesDefault_Cliente"] != null)
                {
                    cClientes objCliente = WebService.RecuperarClientePorId(((cClientes)HttpContext.Current.Session["clientesDefault_Cliente"]).cli_codigo);
                    if (objCliente != null)
                    {
                        ((cClientes)HttpContext.Current.Session["clientesDefault_Cliente"]).cli_estado = objCliente.cli_estado;
                    }
                    if (((cClientes)HttpContext.Current.Session["clientesDefault_Cliente"]).cli_estado.ToUpper() == Constantes.cESTADO_INH)
                    {
                        filterContext.Result = new RedirectResult("/config/inhabilitado");
                        return;
                    }
                }
                if (isCheckDLL && !cPageClientes.IsBanderaUsarDll())
                {
                    filterContext.Result = new RedirectResult("/config/sinusodll");
                    return;
                }
                if (isCheckOPERADORCLIENTE && HttpContext.Current.Session["clientesDefault_Usuario"] != null &&
                    ((Usuario)HttpContext.Current.Session["clientesDefault_Usuario"]).idRol == Constantes.cROL_OPERADORCLIENTE)
                {
                    filterContext.Result = new RedirectResult("/config/sinpermiso");
                    return;
                }
            }
            else
            {
                string url = "";
                if (area == null)
                {
                    url = "/mvc/Index";
                }
                else
                {
                    url = "/" + area.ToString() + "/mvc/Index";
                }
                filterContext.Result = new RedirectResult(url);
            }
        }