public ActionResult UsuariosConsulta(string userJson)
        {
            Usuario usuario = JsonConvert.DeserializeObject <Usuario>(userJson);

            ViewBag.userJson = userJson;

            if (usuario.Rol.RolId > 1)
            {
                SesionPeticion SesionPeticion = new SesionPeticion();
                SesionPeticion.Cabecero.SesionId = usuario.SesionId;

                new Servicio().FinalizarSesion(SesionPeticion);
                return(View("~/Views/Usuarios/Acceso/Salir.cshtml"));
            }

            ConsultaUsuariosPeticion peticion = new ConsultaUsuariosPeticion
            {
                Cabecero = new CabeceroPeticion()
            };

            peticion.Cabecero.SesionId = usuario.SesionId;

            ConsultarUsuariosRespuesta respuesta = new Servicio().ConsultarUsuarios(peticion);

            if (!respuesta.Cabecero.EsRespuestaExistosa())
            {
                respuesta.DTUsuarios = new DataTable();
            }

            return(View(respuesta));
        }
        public int ObtenerIdUsuarioPorToken(string token)
        {
            int idUsuario;

            AdministradorDeSesiones.AdministradorDeSesionesClient cliente = new AdministradorDeSesiones.AdministradorDeSesionesClient(ServicioDeSesiones);
            SesionPeticion sesionPeticion = new SesionPeticion()
            {
                IdSesion = token
            };

            UsuarioDeSesion usuarioDeSesion;

            try
            {
                usuarioDeSesion = cliente.ObtenerIdDeToken(sesionPeticion);
            }
            catch (System.Net.Http.HttpRequestException e)
            {
                throw new AccesoAServicioException("Sesiones", e);
            }
            catch (Grpc.Core.RpcException e)
            {
                throw new AccesoAServicioException("Sesiones", e);
            }
            idUsuario = usuarioDeSesion.IdUsuario;
            return(idUsuario);
        }
        public bool TokenTienePermisos(string token, int idUsuario)
        {
            bool resultado = false;

            AdministradorDeSesiones.AdministradorDeSesionesClient cliente = new AdministradorDeSesiones.AdministradorDeSesionesClient(ServicioDeSesiones);
            SesionPeticion sesionPeticion = new SesionPeticion()
            {
                IdSesion = token
            };
            ExistenciaDeSesion existenciaDeSesion = new ExistenciaDeSesion();

            try
            {
                existenciaDeSesion = cliente.ExisteSesion(sesionPeticion);
            }
            catch (System.Net.Http.HttpRequestException e)
            {
                throw new AccesoAServicioException("Sesiones", e);
            }
            catch (Grpc.Core.RpcException e)
            {
                throw new AccesoAServicioException("Sesiones", e);
            }
            if (existenciaDeSesion.IdUsuario == idUsuario)
            {
                resultado = true;
            }
            return(resultado);
        }
        public bool ValidarSesion(string token)
        {
            bool resultado = false;

            AdministradorDeSesiones.AdministradorDeSesionesClient cliente = new AdministradorDeSesiones.AdministradorDeSesionesClient(ServicioDeSesiones);
            SesionPeticion sesionPeticion = new SesionPeticion()
            {
                IdSesion = token
            };
            ExistenciaDeSesion existenciaDeSesion = new ExistenciaDeSesion();

            try
            {
                existenciaDeSesion = cliente.ExisteSesion(sesionPeticion);
            }
            catch (System.Net.Http.HttpRequestException e)
            {
                throw new AccesoAServicioException("Sesiones", e);
            }
            catch (Grpc.Core.RpcException e)
            {
                throw new AccesoAServicioException("Sesiones", e);
            }
            resultado = existenciaDeSesion.ExistenciaDeSesion_;
            return(resultado);
        }
示例#5
0
        public override Task <SesionPeticion> NuevaSesion(UsuarioDeSesion request, ServerCallContext context)
        {
            SesionPeticion respuesta = new SesionPeticion();

            respuesta.IdSesion = new Guid().ToString();
            respuesta.IdSesion = ControladorDeSesiones.Agregar(request.IdUsuario);
            return(Task.FromResult(respuesta));
        }
        private SesionRespuesta FinalizarSesion(SesionPeticion sesionPeticion)
        {

            Servicio servicio = new Servicio();
            SesionRespuesta sesionRespuesta = servicio.FinalizarSesion(sesionPeticion);


            return sesionRespuesta;
        }
示例#7
0
        public override Task <UsuarioDeSesion> ObtenerIdDeToken(SesionPeticion request, ServerCallContext context)
        {
            UsuarioDeSesion usuario            = new UsuarioDeSesion();
            bool            existenciaDeSesion = ControladorDeSesiones.SesionExiste(request.IdSesion);

            if (existenciaDeSesion)
            {
                usuario.IdUsuario = ControladorDeSesiones.ObtenerIdUsuarioPorIdSesion(request.IdSesion);
            }
            else
            {
                usuario.IdUsuario = 0;
            }

            return(Task.FromResult(usuario));
        }
        private SesionRespuesta IniciarSesion()
        {

            SesionPeticion sesionPeticion = new SesionPeticion
            {
                Identificador = "Administrador",
                Contrasena = "Administrador123",
                IP = "127.0.0.1"
            };

            Servicio servicio = new Servicio();
            SesionRespuesta sesionRespuesta = servicio.IniciarSesion(sesionPeticion);

            return sesionRespuesta;
            
        }
示例#9
0
        // POST: Acceso/IniciarSesion
        //[HttpPost]
        public ActionResult IniciarSesion(Usuario usuario)
        {
            try
            {
                SesionPeticion peticion = new SesionPeticion
                {
                    Identificador = usuario.CorreoE,
                    Contrasena    = usuario.Contrasenia,
                    IP            = usuario.IP
                };

                if (peticion.IP == null)
                {
                    peticion.IP = "127.0.0.1";
                }

                Servicio        servicio  = new Servicio();
                SesionRespuesta respuesta = servicio.IniciarSesion(peticion);
                if (!respuesta.Cabecero.EsRespuestaExistosa())
                {
                    ViewBag.ErrorAcceso = respuesta.Cabecero.MensajeRespuesta;
                    return(View("~/Views/Usuarios/Acceso/Ingresar.cshtml"));
                }

                if (respuesta.Usuario.Rol.RolId == 1)
                {
                    ViewBag.UserJson = respuesta.Usuario.Json;
                    return(View("~/Views/Home/SuperAdministrador.cshtml"));
                }

                if (respuesta.Cabecero.EsRespuestaExistosa() && respuesta.Usuario.SesionId > 0)
                {
                    return(RedirectToAction("SeleccionarConsulta", "SubRegistro", new
                    {
                        userJson = respuesta.Usuario.Json
                    }));
                }
                else
                {
                    return(View("~/Views/Usuarios/Acceso/Ingresar.cshtml"));
                }
            }
            catch
            {
                return(View("~/Views/Usuarios/Acceso/Ingresar.cshtml"));
            }
        }
示例#10
0
        public override Task <ExistenciaDeSesion> ExisteSesion(SesionPeticion request, ServerCallContext context)
        {
            ExistenciaDeSesion existenciaDeSesion = new ExistenciaDeSesion()
            {
                ExistenciaDeSesion_ = ControladorDeSesiones.SesionExiste(request.IdSesion)
            };

            if (existenciaDeSesion.ExistenciaDeSesion_)
            {
                existenciaDeSesion.IdUsuario = ControladorDeSesiones.ObtenerIdUsuarioPorIdSesion(request.IdSesion);
            }
            else
            {
                existenciaDeSesion.IdUsuario = 0;
            }

            return(Task.FromResult(existenciaDeSesion));
        }
        public ActionResult Contact2()
        {
            SesionRespuesta resultadoIniciarSesion = IniciarSesion();
            ViewBag.Message = "Resultados de servicio de iniciar Sesión " + JsonConvert.SerializeObject(resultadoIniciarSesion);

            SesionPeticion sesionPeticion = new SesionPeticion
            {
                Cabecero = new CabeceroPeticion
                {
                    SesionId = resultadoIniciarSesion.Usuario.SesionId
                }
            };

            SesionRespuesta resultadoFinalizarSesion = FinalizarSesion(sesionPeticion);
            ViewBag.Message = ViewBag.Message + "\n\n\n Resultados de servicio de Finalizar Sesión " + JsonConvert.SerializeObject(resultadoFinalizarSesion);


            return View();
        }
示例#12
0
        public ActionResult Salir(string userJson)
        {
            try
            {
                Usuario usuario = JsonConvert.DeserializeObject <Usuario>(userJson);
                usuario.Json     = userJson;
                ViewBag.UserJson = userJson;

                SesionPeticion peticion = new SesionPeticion();
                peticion.Cabecero          = new CabeceroPeticion();
                peticion.Cabecero.SesionId = usuario.SesionId;

                Servicio        servicio  = new Servicio();
                SesionRespuesta respuesta = servicio.FinalizarSesion(peticion);
                return(View("~/Views/Usuarios/Acceso/Salir.cshtml"));
            }
            catch
            {
                return(View("~/Views/Usuarios/Acceso/Salir.cshtml"));
            }
        }