public ResponseInfoUsuarioDTO GetInfoUsuario(RequestInfoUsuario request, string token) { ResponseInfoUsuarioDTO response = new ResponseInfoUsuarioDTO(); SeguridadProxy proxy = new SeguridadProxy(); try { string TokenGetInfo = ConfigurationManager.AppSettings["TokenGetInfoUsuario"].ToString(); if (token != null && token.Equals(TokenGetInfo)) { response = proxy.GetInfoUsuario(request); } else { response.Estado = false; response.Mensaje = "No está autoizado para utilizar este servicio"; } } catch (Exception ex) { response.Estado = false; response.Mensaje = ex.Message.ToString(); } return(response); }
public static string ObtenerJsonMenu() { try { var objResponse = new ResponseMenuPrincipalDTO(); //obtengo los datos necesarios ResponseUsuarioMscDTO resp = (ResponseUsuarioMscDTO)System.Web.HttpContext.Current.Session["usuario"]; if (resp == null) { throw new Exception("La sesión a expirado"); } ResponseInfoUsuarioDTO resp2 = (new SeguridadProxyRest()).TraerInformacionUsuario(new RequestInfoUsuario() { IdPerfilUsuario = resp.Usuario.IdPerfilUsuario }); //hago la tabla hash var tablaHash = new List <string>(); HacerTablaHash(resp2.OpcionesUI, ref tablaHash); resp2.TablaHash = tablaHash; objResponse.MenuPrincipal = Newtonsoft.Json.JsonConvert.SerializeObject(resp2.OpcionesUI); objResponse.NombreUsuario = resp.Usuario.NombrePersona + " (" + resp.Usuario.RolDescripcion + ")"; objResponse.EsExterno = resp.Usuario.esExterno; return(Newtonsoft.Json.JsonConvert.SerializeObject(objResponse)); } catch (Exception ex) { (new ManejadorLog()).RegistrarEvento(string.Format("{0}{1}{2}", ex.Message, Environment.NewLine, ex.StackTrace)); return(null); } }
public ResponseInfoUsuarioDTO GetInfoUsuario(RequestInfoUsuario request) { var response = new ResponseInfoUsuarioDTO(); try { response = SeguridadBL.GetInfoUsuario(request); response.Resultado.Success = true; } catch (Exception ex) { response.Resultado.Message = ex.Message; response.Resultado.ErrCode = ex.GetHashCode().ToString(); if (ex.InnerException != null) { response.Resultado.Messages.Add(new Result { Message = ex.InnerException.Message }); } } return(response); }
public ResponseInfoUsuarioDTO GetInfoUsuario(RequestInfoUsuario request) { var response = new ResponseInfoUsuarioDTO(); try { response = SeguridadBL.GetInfoUsuario(request); response.Resultado.Success = true; } catch (Exception ex) { response.Resultado.Message = ex.Message; response.Resultado.ErrCode = ex.GetHashCode().ToString(); if (ex.InnerException != null) response.Resultado.Messages.Add(new Result { Message = ex.InnerException.Message }); } return response; }
public static ResponseInfoUsuarioDTO GetInfoUsuario(RequestInfoUsuario request) { ResponseInfoUsuarioDTO result = new ResponseInfoUsuarioDTO(); if (String.IsNullOrEmpty(request.IdPerfilUsuario)) { return(result); } using (var contexto = new SeguridadEntities()) { var perfilNegocio = PerfilUsuarioInfoList.GetPerfilUsuarioInfoList( new FiltroCriteria { NombreCampo = "IdPerfilUsuario", ValorBusqueda = request.IdPerfilUsuario }).FirstOrDefault(); var dominios = ErickOrlando.Seguridad.Entidades.DominioInfoList.GetDominioInfoList(); foreach (var dominio in dominios) { if (dominio.NombreLargo == perfilNegocio.Dominio) { perfilNegocio.Dominio = dominio.NombreCorto; } } #region Informacion Basica result.IdUsuario = perfilNegocio.IdUsuario; result.CodigoUsuario = string.Format(@"{0}\{1}", perfilNegocio.Dominio, perfilNegocio.CodigoUsuario); result.NombresCompletos = perfilNegocio.NombresCompletos; result.Dominio = perfilNegocio.Dominio; result.Correo = perfilNegocio.Correo; result.CodigoCargo = perfilNegocio.CodigoCargo; result.Cargo = perfilNegocio.Cargo; result.Alias = perfilNegocio.Alias; result.TipoUsuario = perfilNegocio.TipoUsuario; #endregion #region Roles del PerfilUsuario result.Roles = new List <ResponseRoles>(); foreach (var rolPerfil in perfilNegocio.Roles) { result.Roles.Add(new ResponseRoles { IdRol = rolPerfil.IdRol, Codigo = rolPerfil.CodigoRol, Descripcion = rolPerfil.NombreRol }); } #endregion #region OpcionesUI result.OpcionesUI = ListarOpciones(perfilNegocio, result.Roles.Select(r => r.IdRol).ToList()).ToList(); #endregion #region Recursos result.RecursosAdicionales = new List <ResponseRecursoAdicional>(); foreach (var recurso in perfilNegocio.Recursos) { if (recurso.Conceder) { result.RecursosAdicionales.Add(new ResponseRecursoAdicional { Codigo = recurso.Codigo, Descripcion = recurso.Descripcion }); } } #endregion } return(result); }
public virtual ActionResult Login(string usuario, string password) { SeguridadBL seguridadBL = new SeguridadBL(); var hashPermisosBotones = new List <string>(); try { //ContentResult loginResponse = (ContentResult)(new SeguridadController()).Login(usuario, password); //GR.Scriptor.Membership.Entidades.ResponseLoginUsuario responseLoginUsuario = Newtonsoft.Json.JsonConvert.DeserializeObject<GR.Scriptor.Membership.Entidades.ResponseLoginUsuario>(loginResponse.Content); //OBTENEMOS EL LOGIN ResponseLoginUsuario objLogin = seguridadBL.Login(new RequestLogin { Clave = password, CodigoUsuario = usuario }); if (objLogin == null) { throw new Exception("Servicio Login no disponible."); } if (objLogin.ResultadoLogin == false) { throw new Exception(objLogin.MensajeError); } (new ManejadorLog()).RegistrarEvento(MethodBase.GetCurrentMethod().Name, Newtonsoft.Json.JsonConvert.SerializeObject(objLogin)); //OBTENEMOS LOS DATOS DE SEGURIDAD DEL USUARIO ResponseInfoUsuarioDTO objInfo = seguridadBL.GetInformacionUsuario(objLogin.IdPerfilUsuario); (new ManejadorLog()).RegistrarEvento(MethodBase.GetCurrentMethod().Name, Newtonsoft.Json.JsonConvert.SerializeObject(objInfo)); objInfo.IdPerfilUsuario = objLogin.IdPerfilUsuario; var tablaHash = new List <string>(); List <ResponseOpcionUI> menuOrdenado = new List <ResponseOpcionUI>(); seguridadBL.HacerTablaHash(objInfo.OpcionesUI, ref tablaHash, ref menuOrdenado, ref hashPermisosBotones); Session["usuario"] = new ResponseUsuarioMscDTO() { Usuario = new UsuarioDTO() { IdUsuario = objInfo.IdUsuario, IdPerfilUsuario = objLogin.IdPerfilUsuario, CodigoCargo = objInfo.CodigoCargo, CodigoUsuario = objInfo.CodigoUsuario, Email = objInfo.Correo, NombrePersona = objInfo.NombresCompletos.Split('(')[0], NombreUsuario = objInfo.CodigoUsuario.Split('\\')[1], Menu = menuOrdenado, Recursos = objInfo.RecursosAdicionales, Sedes = objInfo.Sedes, //TipoReclamo = objInfo.TipoReclamo, //Permisos = permisos, Permisos = tablaHash, RolDescripcion = objInfo.Roles[0].Descripcion, esExterno = objInfo.TipoUsuario == "E" ? true : false, TipoUsuario = objInfo.TipoUsuario, Alias = objInfo.Alias, PermisosBotones = hashPermisosBotones, Roles = objInfo.Roles }, }; FormsAuthentication.SetAuthCookie(objInfo.CodigoUsuario, false); return(Json(new Result { Satisfactorio = true }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { (new ManejadorLog()).RegistrarEvento(MethodBase.GetCurrentMethod().Name, ex.Message, ex.StackTrace); return(Json(new Result { Satisfactorio = false, Mensaje = ex.Message, Data = hashPermisosBotones }, JsonRequestBehavior.AllowGet)); } }