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;
 }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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));
            }
        }