protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            LimpiarCarpetaFiles();
            if (!filterContext.ActionDescriptor.GetCustomAttributes(false).Any(x => x is NeedsAuthorization))
            {
                return;
            }

            var authAttribute = (NeedsAuthorization)filterContext.ActionDescriptor.GetCustomAttributes(false).First(x => x is NeedsAuthorization);

            var windowsUser = UserId;

            if (UserId.IndexOf('\\') >= 0)
            {
                windowsUser = UserId.Split('\\')[1];
            }

            var wsSeguridad = new __560_wsBancor_Seguridad._560_wsBancor_Seguridad(configuracionRepository.ObtenerValorPorClave("URL_560_wsBancor_Seguridad"));
            var sistemaId   = configuracionRepository.ObtenerValorPorClave <Int32>("SistemaId");
            var _menuList   = wsSeguridad.MenuPorSistemaPorUsuario(sistemaId, windowsUser, "0", 0).NodosMenu.ToList();

            var _controllerName = filterContext.RouteData.Values["controller"];
            var _actionName     = filterContext.RouteData.Values["action"];

            if (!String.IsNullOrEmpty(authAttribute.ActionValidate))
            {
                _actionName = authAttribute.ActionValidate;
            }

            var Url = new UrlHelper(filterContext.RequestContext);

            if (!CanAccess(_actionName.ToString(), _controllerName.ToString(), _menuList))
            {
                loggerService.Trace($"El usuario {UserId} no puede acceder al sitio Controller {_controllerName.ToString()} Action {_actionName.ToString()}");
                filterContext.Result = new RedirectResult(Url.Action("AccesoDenegado", "Base"));
            }

            base.OnActionExecuting(filterContext);
        }