public ActionResult CargaInicialAplicacion() { ActionResult actionResult = null; ManejadorLogEventos manejadorLogEventos = new ManejadorLogEventos(); RequestConsultaParametroNegocio requestParametroNegocio = new RequestConsultaParametroNegocio(); ResponseCargaInicial response = new ResponseCargaInicial(); ResponseUsuarioMscDTO usuario = HelperSeguridad.ObtenerSessionUsuarioMsc(); ListaTipoCambioViewModel request = new ListaTipoCambioViewModel(); ResponseListarTipoCambio responseListarTipoCambio = new ResponseListarTipoCambio(); try { request.CodigoMoneda = ConfigurationManager.AppSettings["strDefaultMonedaTipoCambio"]; request.Fecha = DateTime.Now; responseListarTipoCambio = new MaestrosAgente().ListarTipoCambio(GR.Frameworks.Helper.MiMapper <ListaTipoCambioViewModel, RequestBusquedaTipoCambio>(request)); response.TipoCambio = responseListarTipoCambio; response.PermisosBotones = usuario.Usuario.PermisosBotones; response.Resultado = new Result { Satisfactorio = true }; actionResult = Json(JsonConvert.SerializeObject(response), JsonRequestBehavior.AllowGet); } catch (Exception ex) { response.Resultado = new Result(); HelperCtrl.GrabarLog(ex, "", PoliticaExcepcion.Web); } return(actionResult); }
protected override bool AuthorizeCore(HttpContextBase httpContext) { bool autenticado = false; var routeDataTemp = httpContext.Request.RequestContext.RouteData; string controllerTemp = Convert.ToString(routeDataTemp.Values["controller"]); string actionTemp = Convert.ToString(routeDataTemp.Values["action"]); //string UsuarioPorDefecto = System.Configuration.ConfigurationManager.AppSettings["UsuarioPorDefecto"].ToString(); if (httpContext.Response.StatusCode == 440) { return(false); } ManejadorLog manejadorLog = new ManejadorLog(); if (ValidarAutorizacion) { if (httpContext.User.Identity.IsAuthenticated) //|| UsuarioPorDefecto.Length > 0) { //COMENTADO POR AHORA //CuentaController cuentaController = new CuentaController(); string usuarioLogueado = httpContext.User.Identity.Name; manejadorLog.GrabarLog("Usuario Autenticado:" + usuarioLogueado); ResponseUsuarioMscDTO usuario = HelperSeguridad.GetUsuario(); //Primera vez que se logea el usuario o session expiró if (usuario == null) { manejadorLog.GrabarLog("Usuario es null"); //COMENTADO POR AHORA //autenticado = cuentaController.ValidarAutenticacion(usuarioLogueado, httpContext); //autenticado = true; //if (autenticado) //{ // manejadorLog.GrabarLog("Usuario es Autenticado"); // if (ValidarAutorizacion) // { // string opcionValidar = Opcion; // if (String.IsNullOrEmpty(opcionValidar)) // { // var routeData = httpContext.Request.RequestContext.RouteData; // string controller = Convert.ToString(routeData.Values["controller"]); // string action = Convert.ToString(routeData.Values["action"]); // opcionValidar = action; // } // //COMENTADO POR AHORA // autenticado = HelperSeguridad.GetUsuario().Usuario.Permisos.Contains(opcionValidar);//cuentaController.ValidarAutorizacion(opcionValidar); // } //} } else { manejadorLog.GrabarLog("Usuario no es null"); manejadorLog.GrabarLog("Usuario Sesion: " + usuario.Usuario.CodigoUsuario); if (usuario.Usuario.CodigoUsuario.ToUpper() != usuarioLogueado.ToUpper()) { manejadorLog.GrabarLog("Usuario Sesion: " + usuario.Usuario.CodigoUsuario); manejadorLog.GrabarLog("Usuario Logueado: " + usuarioLogueado.ToUpper()); //COMENTADO POR AHORA //autenticado = cuentaController.ValidarAutenticacion(usuarioLogueado, httpContext); } else { if (ValidarAutorizacion) { string opcionValidar = Opcion; if (String.IsNullOrEmpty(opcionValidar)) { var routeData = httpContext.Request.RequestContext.RouteData; string controller = Convert.ToString(routeData.Values["controller"]); string action = Convert.ToString(routeData.Values["action"]); opcionValidar = action; } //COMENTADO POR AHORA autenticado = HelperSeguridad.GetUsuario().Usuario.Permisos.Contains(opcionValidar);//autenticado = cuentaController.ValidarAutorizacion(opcionValidar); } else { autenticado = true; } } } } } else { autenticado = true; } return(autenticado); }
public override void OnAuthorization(AuthorizationContext filterContext) { //ManejadorLog log = new ManejadorLog(); try { //log.RegistrarEvento("OnAuthorization"); //log.RegistrarEvento(string.Format("parametro = {0}", Newtonsoft.Json.JsonConvert.SerializeObject(filterContext))); var section = (Hashtable)ConfigurationManager.GetSection("PaginasAnonimas"); ResponseUsuarioMscDTO usuario = (ResponseUsuarioMscDTO)(filterContext.RequestContext.HttpContext.Session["usuario"]); var routeDataTemp = filterContext.RequestContext.RouteData; String UrlAcceso = ""; if (routeDataTemp.Values.Values.ToArray()[1] == "ModuloSeguridadGR" || HelperSeguridad.PerteneceAsembliesScriptor(routeDataTemp.Values.Values.ToArray()[1]) || HelperSeguridad.PerteneceCadena(routeDataTemp.Values.Values.ToArray()[1], WebConfigReader.ModulosRegistrar)) { UrlAcceso = "/" + routeDataTemp.Values.Values.ToArray()[1] + "/" + routeDataTemp.Values.Values.ToArray()[0]; } else { UrlAcceso = "/" + routeDataTemp.Values.Values.ToArray()[0] + "/" + routeDataTemp.Values.Values.ToArray()[1]; } // log.RegistrarEvento(string.Format("Urlacceso = {0}", UrlAcceso)); Dictionary <string, string> dicSection = section.Cast <DictionaryEntry>().ToDictionary(d => (string)d.Key, d => (string)d.Value); var encuentra = (from xx in dicSection where xx.Value.ToUpper() == UrlAcceso.ToUpper() || xx.Value.ToUpper() + "/" == UrlAcceso.ToUpper() select xx).Count(); ////log.RegistrarEvento(string.Format("dicSection = {0}", Newtonsoft.Json.JsonConvert.SerializeObject(dicSection))); //log.RegistrarEvento(string.Format("encuentra = {0}", encuentra)); ////log.RegistrarEvento("paths 1=" + routeDataTemp.Values.Values.ToArray()[0] + "\n" + // "paths 2=" + routeDataTemp.Values.Values.ToArray()[1] + "\n" + // //"paths 3=" + routeDataTemp.Values.Values.ToArray()[2] + "\n" + // "encuentra" + encuentra.ToString()); ////log.RegistrarEvento("WebSiteChannel=" + Viatecla.Factory.Scriptor.ModularSite.Models.Common.WebSiteChannel.Name); //if (Viatecla.Factory.Scriptor.ModularSite.Models.Common.WebSiteChannel.Name != WebConfigReader.WebSiteChannelName) // return; //Prueba //encuentra = 1; // Prueba if (encuentra == 0) { //if (filterContext.HttpContext.User != null) if (usuario != null) { base.OnAuthorization(filterContext); } else { filterContext.RequestContext.HttpContext.Response.StatusCode = 440; base.OnAuthorization(filterContext); } } } catch (Exception ex) { (new ManejadorLog()).RegistrarEvento(MethodBase.GetCurrentMethod().Name, ex.Message, ex.StackTrace); // log.RegistrarEvento(ex.StackTrace); } }
protected override bool AuthorizeCore(HttpContextBase httpContext) { //Prueba // return true; //Pruena // ManejadorLog log = new ManejadorLog(); // log.RegistrarEvento(string.Format("metodo = {0}", MethodBase.GetCurrentMethod().Name)); try { if (httpContext.Response.StatusCode == 440) { return(false); } bool autenticado = false; ResponseUsuarioMscDTO usuario = HelperSeguridad.ObtenerSessionUsuarioMsc(); var routeDataTemp = httpContext.Request.RequestContext.RouteData; string controllerTemp = Convert.ToString(routeDataTemp.Values["controller"]); string actionTemp = Convert.ToString(routeDataTemp.Values["action"]); // log.RegistrarEvento(httpContext.User.Identity.IsAuthenticated.ToString()); if (usuario != null) //if (httpContext.User.Identity.IsAuthenticated) { // log.RegistrarEvento("entro if session"); String UrlAcceso = ""; if (routeDataTemp.Values.Values.ToArray()[1] == "ModuloSeguridad" || HelperSeguridad.PerteneceAsembliesScriptor(routeDataTemp.Values.Values.ToArray()[1]) || HelperSeguridad.PerteneceCadena(routeDataTemp.Values.Values.ToArray()[1], WebConfigReader.ModulosRegistrar)) { UrlAcceso = "/" + routeDataTemp.Values.Values.ToArray()[1] + "/" + routeDataTemp.Values.Values.ToArray()[0]; } else { UrlAcceso = "/" + routeDataTemp.Values.Values.ToArray()[0] + "/" + routeDataTemp.Values.Values.ToArray()[1]; } //log.RegistrarEvento("UrlAcceso=" + UrlAcceso); var encontrar = (from xx in usuario.Usuario.Permisos where xx.ToUpper() == UrlAcceso.ToUpper() || xx.ToUpper() + "/" == UrlAcceso.ToUpper() || "/ES-PE" + xx.ToUpper() == UrlAcceso.ToUpper() || "ES-PE" + xx.ToUpper() == UrlAcceso.ToUpper() || "ES-PE/" + xx.ToUpper() + "/" == UrlAcceso.ToUpper() || "/ES-PE/" + xx.ToUpper() + "/" == UrlAcceso.ToUpper() || "/ES-PE" + xx.ToUpper() == UrlAcceso.ToUpper() + "/" || "ES-PE" + xx.ToUpper() == UrlAcceso.ToUpper() + "/" || "/" + xx.ToUpper() == UrlAcceso.ToUpper() + "/" || xx.ToUpper() == UrlAcceso.ToUpper() + "/" select xx).Count(); //var encontrar = (from xx in usuario.Usuario.Permisos where xx.ToUpper() == UrlAcceso.ToUpper() || xx.ToUpper() + "/" == UrlAcceso.ToUpper() select xx).Count(); // log.RegistrarEvento("encontrar="+encontrar.ToString()); //log.RegistrarEvento("salio autorizar"); //Prueba encontrar = 1; //Prueba return(encontrar > 0); } else { //log.RegistrarEvento("salio autorizar"); return(false); } } catch (Exception ex) { (new ManejadorLog()).RegistrarEvento(MethodBase.GetCurrentMethod().Name, ex.Message, ex.StackTrace); //log.RegistrarEvento(ex.Message); //log.RegistrarEvento(ex.StackTrace); return(false); } return(true); }