예제 #1
0
        public ActionResult Index(Login ModeloLogin)
        {
            if (ModelState.IsValid)
            {
                var _valorcontraseñaEncríptado = _encriptacion.Encriptar(ModeloLogin.contraseña);
                var _result      = _usuarioBSS.ValidarUsuario(ModeloLogin.mail, _valorcontraseñaEncríptado);
                var _sw_auxiliar = _result > 0?1: _result;
                switch (_sw_auxiliar)
                {
                case 1:
                    Session[CSession.Clogeado] = _result;
                    return(RedirectToAction("Index", "Cotizacion"));

                case -2:
                    ViewBag.mensajeLogin = "******";
                    break;

                case -3:
                    ViewBag.mensajeLogin = "******";
                    break;

                default:
                    break;
                }
                return(View(ModeloLogin));
                ///codigo
            }
            ViewBag.mensajeLogin = "******";
            return(View(ModeloLogin));
        }
예제 #2
0
        public void AgregarEmpleado(TR_empleado empleado)
        {
            var dato    = db.EMPLEADO.Create();
            var usuario = db.USUARIO.Create();
            var contrasenaEncriptada = encriptacion.Encriptar(empleado.CONTRASENA);

            usuario.USUARIO1            = empleado.RUN_EMPLEADO;
            usuario.CONTRASENA          = contrasenaEncriptada;
            usuario.TIPO_USUARIO_CODIGO = empleado.TIPO_USUARIO_CODIGO;
            usuario.ESTADO_ID           = empleado.ESTADO_ID;

            dato.RUN_EMPLEADO     = empleado.RUN_EMPLEADO;
            dato.NOMBRE           = empleado.NOMBRE;
            dato.APELLIDO_MATERNO = empleado.APELLIDO_MATERNO;
            dato.APELLIDO_PATERNO = empleado.APELLIDO_PATERNO;
            dato.TELEFONO         = empleado.TELEFONO;
            dato.EMAIL            = empleado.EMAIL;
            dato.DIRECCION        = empleado.DIRECCION;
            dato.FECHA_NACIMIENTO = empleado.FECHA_NACIMIENTO;
            dato.CARGO            = empleado.CARGO;
            dato.USUARIO          = empleado.RUN_EMPLEADO;
            dato.NUMERO_SUCURSAL  = empleado.NUMERO_SUCURSAL;
            dato.COMUNA_ID        = empleado.COMUNA_ID;
            dato.ESTADO_ID        = empleado.ESTADO_ID;

            db.USUARIO.Add(usuario);
            db.EMPLEADO.Add(dato);
            db.SaveChanges();
        }
예제 #3
0
        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                Usuario usu = new Usuario()
                {
                    Rut          = int.Parse(txtRut.Text),
                    Dv           = char.Parse(txtDv.Text),
                    Nombre       = txtNombre.Text,
                    UserName     = txtUsername.Text,
                    Clave        = Encriptacion.Encriptar(txtClave2.Text),
                    Tipo_Usuario = listas.IdTipoUsuarioPorNombre(ddlPerfil.SelectedItem.ToString()),
                    Estado       = true
                };

                if (usu.Update())
                {
                    LimpiarControles();
                    lblMensaje.Text = "Usuario " + txtUsername.Text + " actualizado correctamente.";
                }
                else
                {
                    lblMensaje.Text = "Usuario no actualizado.";
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text = "Error al actualizar usuario.";
            }
        }
예제 #4
0
        private bool RecoverClave(Gq_usuarios entity)
        {
            try
            {
                string newPass = UtilsFunctions.CreateRandomCode(6);
                if (entity != null)
                {
                    List <string> emails = new List <string> {
                        entity.Email
                    };

                    entity.RequiereClave = "S";
                    entity.Clave         = Encriptacion.Encriptar(newPass, Constantes.CLAVE_ENCRIPTACION);
                    using (var transaction = Services.session.BeginTransaction())
                    {
                        try
                        {
                            Services.Get <ServGq_usuarios>().Actualizar(entity);
                        }
                        catch
                        {
                        }
                        transaction.Commit();
                    }
                }

                return(MailHelper.Enviar_AvisoDeRecClave(entity, newPass));
            }
            catch (Exception)
            {
                return(false);
            }
        }
예제 #5
0
        /// <summary>
        /// Metodo que comprueba que el usuario y la contraseña existan en la BBDD
        /// </summary>
        private void Verificacion()
        {
            string user = Encriptacion.Encriptar(tbUser.Text.ToString());
            string pass = Encriptacion.Encriptar(tbPass.Text.ToString());

            string userBBDD = Convert.ToString(Constantes.acceso_TA.GetUser(user));
            string passBBDD = Convert.ToString(Constantes.acceso_TA.GetPass(pass));

            if (user.Equals(userBBDD) && pass.Equals(passBBDD))
            {
                MessageBoxTemporal.Show("Usuario y contraseña correctos", "Acceso Permitido", 2, true);
                this.Close();

                PantallaGestion panel1 = new PantallaGestion();
                panel1.MaximizeBox   = false;
                panel1.MinimizeBox   = false;
                panel1.ShowIcon      = true;
                panel1.ShowInTaskbar = false;

                panel1.ShowDialog();
            }
            else
            {
                MessageBox.Show("Usuario o contraseña incorrectos", "Acceso Denegado", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #6
0
 public ActionResult Index(string usuario, string password)
 {
     try
     {
         string  passwordCodificado = encriptar.Encriptar(password);
         Usuario user = objDal.Obtener_Usuario(usuario, passwordCodificado);
         if (!string.IsNullOrEmpty(user.Username))
         {
             Session["Nombre"]        = user.ApellidoP + " " + user.Nombres;
             Session["Usuario"]       = user.Username;
             Session["CodigoUsuario"] = user.CodigoUsuario;
             if (Convert.ToBoolean(user.Estado))
             {
                 return(RedirectToAction("Index", "Home"));
             }
             else
             {
                 return(RedirectToAction("CambiarPassword", "Home"));
             }
         }
         else
         {
             Request.Flash("danger", "Usuario o Contraseña Incorrectos");
         }
     }
     catch (Exception ex)
     {
         Request.Flash("danger", ex.Message);
     }
     return(View());
 }
예제 #7
0
        protected void btnInsertar_Click(object sender, EventArgs e)
        {
            try
            {
                IUsuario usu     = new MUsuario();
                var      usuario = usu.BuscarUsuario(txtUsuario.Text, Encriptacion.Encriptar(txtContra.Text));
                if (txtContra.Text != txtConfirmar.Text)
                {
                    MostarMensajeError("Contraseñas no coinciden.");
                }
                else if (usuario != null)
                {
                    MostarMensajeError("Usuario ya existe, intentelo de nuevo.");
                }
                else
                {
                    var newusuario = new DATA.Usuario
                    {
                        Username = txtUsuario.Text,
                        Password = Encriptacion.Encriptar(txtContra.Text),
                        Rol      = txtRol.Text,
                    };

                    usu.insertarUsuario(newusuario);
                    MostarMensaje("Usuario creado con exito.");
                    txtUsuario.Text   = string.Empty;
                    txtContra.Text    = string.Empty;
                    txtConfirmar.Text = string.Empty;
                }
            }
            catch (Exception)
            {
                MostarMensajeError("Ocurrio un error");
            }
        }
예제 #8
0
 protected void Button1_Click(object sender, EventArgs e)
 {
     try
     {
         Conexion cnn = new Conexion();
         cnn.AgregarParametro("@i_operacion", SqlDbType.Char, "C");
         cnn.AgregarParametro("@i_usuario", SqlDbType.Char, txtUsuario.Text);
         Encriptacion en = new Encriptacion();
         cnn.AgregarParametro("@i_contraseña", SqlDbType.Char, en.Encriptar(txtPass.Text));
         cnn.EstablecerSP("sp_login");
         cnn.EjecutarSP(true);
         DataSet   ds = cnn.getTablasRetorno();
         DataTable dt = new DataTable();
         dt = ds.Tables[0];
         if (dt.Rows.Count > 0)
         {
             Session["usuario"] = ds.Tables[0].Rows[0][1];
             Session["nombre"]  = ds.Tables[0].Rows[0][3];
             Session["tipo"]    = ds.Tables[0].Rows[0][4];
             Session["cliente"] = ds.Tables[0].Rows[0][5];
             Response.Redirect("Inicio.aspx");
         }
         else
         {
             Response.Write("<script>alert('Usuario o Contraseña Incorrecta')</script>");
         }
     }
     catch (Exception ex)
     {
         string errorEx = "";
         errorEx = "<script>alert('Error:" + ex.Message.ToString() + " Detalle: " + ex.ToString() + "')</script>";
         Response.Write(errorEx);
     }
 }
예제 #9
0
파일: Login.aspx.cs 프로젝트: Jenn019/Dota
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            try
            {
                IUsuario usu     = new MUsuario();
                var      usuario = usu.BuscarUsuario(txtUsuario.Text, Encriptacion.Encriptar(txtContra.Text));
                if (usuario != null)
                {
                    Session["Rol"] = usuario.Rol;
                    if (usuario.Rol == "Cliente")
                    {
                        Response.Redirect("MantenCliente.aspx");
                    }

                    if (usuario.Rol == "Administrador")
                    {
                        Response.Redirect("MantenCliente.aspx");
                    }
                }
                else
                {
                    MostarMensajeError("Usuario o contra incorrecto");
                }
            }
            catch (Exception)
            {
                MostarMensajeError("Ocurrio un error");
            }
        }
        public JsonResult Encriptar(string Texto)
        {
            var jsonResult = Json(JsonConvert.SerializeObject(encriptacion.Encriptar(Texto)), JsonRequestBehavior.AllowGet);

            jsonResult.MaxJsonLength = int.MaxValue;
            return(jsonResult);
        }
예제 #11
0
        public void AgregarCliente(TR_cliente cliente)
        {
            var dato    = db.CLIENTE.Create();
            var usuario = db.USUARIO.Create();
            var contraseniaEncriptada = encriptacion.Encriptar(cliente.CONTRASENA);

            usuario.USUARIO1            = cliente.RUN_CLIENTE;
            usuario.CONTRASENA          = contraseniaEncriptada;
            usuario.TIPO_USUARIO_CODIGO = cliente.TIPO_USUARIO_CODIGO;
            usuario.ESTADO_ID           = cliente.ESTADO_ID;

            dato.RUN_CLIENTE      = cliente.RUN_CLIENTE;
            dato.NOMBRE           = cliente.NOMBRE;
            dato.APELLIDO_MATERNO = cliente.APELLIDO_MATERNO;
            dato.APELLIDO_PATERNO = cliente.APELLIDO_PATERNO;
            dato.TELEFONO         = cliente.TELEFONO;
            dato.EMAIL            = cliente.EMAIL;
            dato.FECHA_NACIMIENTO = cliente.FECHA_NACIMIENTO;
            dato.DIRECCION        = cliente.DIRECCION;
            dato.COMUNA_ID        = cliente.ESTADO_ID;
            dato.ESTADO_ID        = cliente.ESTADO_ID;
            dato.USUARIO          = cliente.RUN_CLIENTE;

            db.USUARIO.Add(usuario);
            db.CLIENTE.Add(dato);
            db.SaveChanges();
        }
예제 #12
0
 protected void btnCrearConexion_Click(object sender, EventArgs e)
 {
     if (txtNombrePlaya.Text != "" && txtCiudad.Text != "" && txtDireccion.Text != "")
     {
         Usuario  usuario       = gestorUsuario.BuscarUsuarioByNombreOEmail(txtUsuario.Text);
         Conexion NuevaConexion = new Conexion();
         NuevaConexion.EstadoConfirmacion       = false;
         NuevaConexion.PlayaDeEstacionamientoId = gestorPlaya.BuscarPlayaPorNombreYDireccion(txtNombrePlaya.Text, txtCiudad.Text, txtDireccion.Text, Int32.Parse(txtNumero.Text));
         NuevaConexion.UsuarioResponsable       = usuario.Mail;
         NuevaConexion.Token = encriptacion.Encriptar(NuevaConexion.Id.ToString() + usuario.Id.ToString() + usuario.Nombre);
         if (usuario != null && NuevaConexion != null)
         {
             var resultado = gestorConexion.RegistrarNuevaConexion(NuevaConexion);
             if (resultado == true)
             {
                 PlayaDeEstacionamiento playa     = gestorPlaya.BuscarPlayaPorId(NuevaConexion.PlayaDeEstacionamientoId);
                 SolicitudConexion      solicitud = gestorSolicitud.BuscarSolicitudByUsuario(usuario.Mail);
                 solicitud.EstadoId = 7;
                 gestorSolicitud.UpdateSolicitud(solicitud);
                 gvSolicitudes.DataSource = GetSolicitudes();
                 gvSolicitudes.DataBind();
                 gvConexiones.DataSource = GetConexiones();
                 gvConexiones.DataBind();
                 string url = HttpContext.Current.Request.Url.ToString();
                 Uri    uri = new Uri(url);
                 gestorMandarEmail.EnviarEmail("Se ha creado la conexion con la playa " + playa.Nombre + " de Direccion: " + playa.Direcciones.FirstOrDefault().Calle + " " + playa.Direcciones.FirstOrDefault().Numero + " " + playa.Direcciones.FirstOrDefault().Ciudad + ". Verifique la información cargada y confirme la conexion con su playa. \n\nPresione el siguiente link para ingresar y ver sus conexiones " + uri.GetLeftPart(UriPartial.Authority) + "/Index.aspx .\n\nDatos de Acceso a la API GEOPARKING: \nIdentificador de Playa: " + playa.Id + " \nNumero de Acceso: " + NuevaConexion.Token + "", usuario.Mail, "Creacion de Conexion en Geoparking");
             }
         }
     }
 }
예제 #13
0
        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                Usuario usu = new Usuario()
                {
                    Rut = usuario.Rut
                };

                usu.Read();
                if (usu.Clave == Encriptacion.Encriptar(txtClaveActual.Text) && usu.CambiarClave(Encriptacion.Encriptar(txtNuevaClave.Text)))
                {
                    OcultarControles();
                    lblMensaje.Text = "Cambio de clave exitoso.";
                }
                else
                {
                    lblMensaje.Text = "No se pudo realizar cambio de clave. Intente nuevamente.";
                    txtClaveActual.Focus();
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text = "Error al realizar cambio de clave.";
            }
        }
예제 #14
0
        public ActionResult CambiarPassword(string nuevoPassword)
        {
            bool respuesta = false;

            try
            {
                int    codigoUsuario  = Convert.ToInt32(Session["CodigoUsuario"]);
                string passCodificado = encriptar.Encriptar(nuevoPassword);
                respuesta = objDal.ActualizarContraseña(passCodificado, codigoUsuario);
                if (respuesta)
                {
                    Request.Flash("success", "Contraseña Actualizada Correctamente");
                    return(RedirectToAction("Index", "Login"));
                }
                else
                {
                    Request.Flash("danger", "No ha sido posible actualizar la contraseña");
                }
            }
            catch (Exception exc)
            {
                Request.Flash("danger", "Ha ocurrido un error: " + exc.Message);
            }

            return(View());
        }
예제 #15
0
 private void btn_Ingresar_Click(object sender, RoutedEventArgs e)
 {
     contraseñaIngresada = Encriptacion.Encriptar(txt_Contrasenia.Password);
     if (validacion())
     {
         usuario = txt_Usuario.Text;
         Personal personal = PersonalDAO.getLogin(usuario, contraseñaIngresada);
         if (personal != null && personal.IdPersonal > 0 && personal.Estado == "Desconectado" && personal.TipoPersonal == "Delegacion")
         {
             personal.Estado = "Conectado";
             PersonalDAO.actualizarEstadoUsuario(personal);
             MenuDelegacion menuPrincpipal = new MenuDelegacion(personal);
             menuPrincpipal.Show();
             this.Close();
         }
         else
         {
             MessageBox.Show(this, "Error al iniciar sesion, intente de nuevo");
             txt_Usuario.Text         = "";
             txt_Contrasenia.Password = "";
             txt_Usuario.Focus();
             Console.WriteLine("this is a test");
         }
     }
 }
예제 #16
0
        private void AgregarUsuarioNuevo(object sender, EventArgs e)
        {
            string user = Encriptacion.Encriptar(tbUsuario.Text); //Encriptamos el usuario y lo guardamos en variable
            string pass = Encriptacion.Encriptar(tbPass.Text);    //Encriptamos la contraseña y la guardamos en variable

            MessageBox.Show(user + "   " + pass);                 //Mostramos el usuario y contraseña introducidos para que el administrador compruebe que son correctos
            Constantes.acceso_TA.Insert(user, pass);              //Insertamos el usuario encriptado
        }
예제 #17
0
        public RespuestaSimple Login(string usuario, string password)
        {
            // Ubico el usuario
            var q = from p in db.Usuarios
                    where p.UsuEmail == usuario
                    orderby p.UsuEmail
                    select new Models.Usuarios
            {
                UsuarioId   = p.UsuarioId,
                UsuEmail    = p.UsuEmail,
                UsuNom      = p.UsuNom,
                UsuPassword = p.UsuPassword,
                UsuTipo     = p.UsuTipo
            };

            // Obtiene el primer registro
            var r = q.FirstOrDefault();

            // Si no encontró, retorno
            if (r == null)
            {
                return(new RespuestaSimple(401, "Usuario y/o contraseña incorrectos."));
            }

            // Si el usuario no es administrador, también retorno
            if (r.UsuTipo != "ADM")
            {
                return(new RespuestaSimple(401, "Usuario no autorizado."));
            }

            // Desencripto la contraseña usando la clave
            // Si no coinciden, retorno
            // También permito entrar si la contraseña es igual al usuario (inicialmente)
            if (Encriptacion.Desencriptar(r.UsuPassword) != password &&
                (r.UsuPassword != r.UsuEmail || r.UsuPassword != password))
            {
                return(new RespuestaSimple(401, "Usuario y/o contraseña incorrectos."));
            }

            // Usuario correcto. Creo un token JWT y lo devuelvo
            var token = Encriptacion.Encriptar(Guid.NewGuid().ToString());

            // Elimina las sesiones expiradas
            new Services.Sesiones(db).EliminarExpiradas();

            // Creo la sesión en la tabla y almaceno el token
            new Services.Sesiones(db).Insertar(new Models.Sesiones {
                SesionId     = token,
                SesionExpira = DateTime.Now.AddHours(1),
                UsuarioId    = r.UsuarioId,
                SesionTipo   = "local"
            });

            // Retorno OK y el Token
            return(new RespuestaSimple(200, token));
        }
예제 #18
0
 public void RestPassword(string usuario_sistema)
 {
     try
     {
         new DAOAdmin(this.usuario, this.pass).RestPassUsuario(
             Convert.ToBase64String(Encriptacion.Encriptar(usuario_sistema)));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
예제 #19
0
        public void Guardar(UsuarioDto usuarioDto)
        {
            if (usuarioDto.Estado == EstadoObjeto.Nuevo)
            {
                string password = _encriptacion.Encriptar(usuarioDto.Password);

                usuarioDto.Username = usuarioDto.Username.ToUpper(CultureInfo.CurrentCulture);

                UsuarioEntity usuario = UsuarioEntity.Crear(usuarioDto.Username, password, usuarioDto.Nombre, usuarioDto.Apellido,
                                                            usuarioDto.Email, usuarioDto.Imagen, usuarioDto.Usuario);

                _usuarioRepository.Crear(usuario);
            }
            else if (usuarioDto.Estado == EstadoObjeto.Modificado)
            {
                string password = _encriptacion.Encriptar(usuarioDto.Password);

                bool passwordCorrecto = _usuarioRepository.VerificarPassword(usuarioDto.Username, password);

                if (!passwordCorrecto)
                {
                    throw new Exception("No se puede modificar el usuario, la contraseña es incorrecta");
                }

                usuarioDto.Username = usuarioDto.Username.ToUpper(CultureInfo.CurrentCulture);

                UsuarioEntity usuario = _usuarioRepository.Buscar(usuarioDto.Id);
                usuario.Modificar(usuarioDto.Username, usuarioDto.Nombre, usuarioDto.Apellido, usuarioDto.Email
                                  , usuarioDto.Imagen, usuarioDto.Usuario);
                _usuarioRepository.Modificar();
            }
            else if (usuarioDto.Estado == EstadoObjeto.Borrado)
            {
                _usuarioRepository.Eliminar(usuarioDto.Id);
            }
            else
            {
                throw new Exception("El método no es el correcto");
            }
        }
예제 #20
0
        public static string EncriptarParametros(string parametros)
        {
            if (string.IsNullOrEmpty(parametros))
            {
                return(parametros);
            }

            string parEnc = string.Empty;

            //parEnc = HttpUtility.UrlEncode( Encriptacion.Encriptar(parametros));
            parEnc = Convert.ToBase64String(Encriptacion.Encriptar(parametros));
            return(parEnc);
        }
예제 #21
0
파일: Login.cs 프로젝트: camilaav/Omega
        private void btnIngresar_Click_1(object sender, EventArgs e)
        {
            contador++;
            var            usuario  = new Usuario();
            List <Usuario> usuarios = new List <Usuario>();

            usuario.NombreUsuario = txtUsuario.Text;
            usuario.Contraseña    = txtContraseña.Text;
            usuarios = usuarioRN.SeleccionarUsuario(usuario);
            foreach (var u in usuarios)
            {
                if (txtUsuario.Text == u.NombreUsuario)
                {
                    int id = u.IdUsuario;
                    if (Encriptacion.Encriptar(txtContraseña.Text) == u.Contraseña)
                    {
                        if (u.FechaBloqueo < DateTime.Now)
                        {
                            var pantallaProfesores = new Pantalla_principal_profesores();
                            UsuarioLogueado.Logueado = u;
                            pantallaProfesores.Show();
                            this.Hide();
                        }
                        else
                        {
                            MessageBox.Show("No puede ingresar, usuario bloqueado");
                            Application.Exit();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Contraseña incorrecta", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        if (contador == 3)
                        {
                            MessageBox.Show("Limite alcanzado, usuario bloqueado por 10 minutos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            u.FechaBloqueo = DateTime.Now.AddMinutes(10);
                            usuarioRN.InsertarBloqueo(u);
                            Application.Exit();
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Usuario incorrecto");
                    Limpiar();
                }
            }
        }
예제 #22
0
        private void _PresionarTecla(object sender, KeyEventArgs e)
        {
            if (tbMain.SelectedTab == tbAlumnos)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    ReiniciarForm(false, 1);
                    String matricula = txtMatricula.Text;
                    String encripMat = Encriptacion.Encriptar(matricula);

                    IEnumerable <Alumno> resultado = ws.GetAlumnos().Where(c => c.Matricula.Equals(encripMat));
                    if (resultado.Count() == 0)
                    {
                        MessageBox.Show("Ningún registro encontrado", "Sin resultados", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        return;
                    }

                    Alumno alumno = resultado.First();

                    txtApellidoPaternoAlumno.Text = Encriptacion.desEncriptar(alumno.ApellidoPaterno);
                    txtApellidoMaternoAlumno.Text = Encriptacion.desEncriptar(alumno.ApellidoMaterno);
                    txtNombreAlumno.Text          = Encriptacion.desEncriptar(alumno.Nombre);
                }
            }
            else
            {
                if (e.KeyCode == Keys.Enter)
                {
                    ReiniciarForm(false, 2);
                    String issemym          = txtIssemym.Text;
                    String encriptarIssemym = Encriptacion.Encriptar(issemym);


                    IEnumerable <Empleado> resultado = ws.GetEmpleados().Where(c => c.ClaveISSEMYM.Equals(encriptarIssemym));
                    if (resultado.Count() == 0)
                    {
                        MessageBox.Show("Ningún registro encontrado", "Sin resultados", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        return;
                    }

                    Empleado empleado = resultado.First();

                    txtApellidoPaternoEmpleado.Text = Encriptacion.desEncriptar(empleado.ApellidoPaterno);
                    txtApellidoMaternoEmpleado.Text = Encriptacion.desEncriptar(empleado.ApellidoMaterno);
                    txtNombreEmpleado.Text          = Encriptacion.desEncriptar(empleado.Nombre);
                }
            }
        }
예제 #23
0
        private void btnActualizar_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtconfirmarContraseña.Text) || string.IsNullOrEmpty(txtNuevaContraseña.Text))
                {
                    MessageBox.Show("Los campos son requeridos ", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else if (txtconfirmarContraseña.Text != txtNuevaContraseña.Text)
                {
                    MessageBox.Show("Los campos deben ser iguales", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else if (txtconfirmarContraseña.Text == txtNuevaContraseña.Text)
                {
                    Usuario usu = new Usuario()
                    {
                        id_user   = MenuLogin.UsuarioGlobal.id_user,
                        id_rol    = MenuLogin.UsuarioGlobal.id_rol,
                        Nombre    = MenuLogin.UsuarioGlobal.Nombre,
                        Apellidos = MenuLogin.UsuarioGlobal.Apellidos,
                        Correo    = MenuLogin.UsuarioGlobal.Correo,
                        Direccion = MenuLogin.UsuarioGlobal.Direccion,
                        contra    = Encriptacion.Encriptar(txtNuevaContraseña.Text, Encriptacion.Llave)
                        ,
                        Cedula = MenuLogin.UsuarioGlobal.Cedula
                    };
                    //Debug.WriteLine("This is my password: "******"This is ID: " + usu.id_user);

                    Singleton.opUsuarios.ActualizarUsuarios(usu);
                    var msj = MessageBox.Show("La contraseña ha sido modificada favor volver a logearse", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    if (msj == DialogResult.OK)
                    {
                        this.Hide();
                        MenuLogin m = new MenuLogin();
                        m.Show();
                    }
                    else
                    {
                    }
                }
            }
            catch
            {
                MessageBox.Show("Hubo un error");
            }
        }
예제 #24
0
        private void btnIngresar_Click(object sender, EventArgs e)
        {
            var usuario = new Usuario
            {
                IdUsuario  = UsuarioLogueado.Logueado.IdUsuario,
                Contraseña = txtContraseñaNueva.Text
            };

            if (txtContraseñaNueva.Text == txtConfirmacion.Text)
            {
                if (Encriptacion.Encriptar(txtContraseñaVieja.Text) == UsuarioLogueado.Logueado.Contraseña)
                {
                    if (usuarioRN.ModificacionUsuario(usuario))
                    {
                        UsuarioLogueado.Logueado.Contraseña = Encriptacion.Encriptar(usuario.Contraseña);
                        MessageBox.Show("Su contraseña se actualizó con éxito");
                        txtContraseñaNueva.Text = null;
                        txtContraseñaVieja.Text = null;
                        txtConfirmacion.Text    = null;
                    }
                    else
                    {
                        MessageBox.Show("No se pudo actualizar la contraseña");
                        txtContraseñaNueva.Text = null;
                        txtContraseñaVieja.Text = null;
                        txtConfirmacion.Text    = null;
                    }
                }
                else
                {
                    MessageBox.Show("La contraseña no se puede cambiar, ya que el valor ingresado en contraseña vieja no corresponde con su contraseña actual");
                    txtContraseñaNueva.Text = null;
                    txtContraseñaVieja.Text = null;
                    txtConfirmacion.Text    = null;
                }
            }
            else
            {
                MessageBox.Show("La contraseña nueva no corresponde con la confirmación, vuelva a ingresarlas");
                txtContraseñaNueva.Text = null;
                txtContraseñaVieja.Text = null;
                txtConfirmacion.Text    = null;
            }
        }
예제 #25
0
        public string GenerarToken(string usuario)
        {
            try
            {
                //Genera token

                string bufer     = "USUARIO=" + usuario + ";Time=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                string token     = Convert.ToBase64String(Encriptacion.Encriptar(bufer, usuario));
                string nombre    = string.Empty;
                string correo    = string.Empty;
                string extension = string.Empty;

                //Busca informacion de usuario
                IDAOUsuario iDaoUsuario = new DAOUsuario();
                RespuestaBD resp        = iDaoUsuario.ObtenerListaUsuarios(null, usuario);
                if (!resp.EXISTE_ERROR)
                {
                    if (resp.dataSet.Tables[0].Rows.Count > 0)
                    {
                        DataRow r = resp.dataSet.Tables[0].Rows[0];

                        nombre    = (string)r["fc_nombre"] + " " + (string)r["fc_apellido_p"] + " " + (string)r["fc_apellido_m"];
                        correo    = (string)r["fc_correo"];
                        extension = (string)r["fc_extension_usuario"];
                    }
                }

                string cadRespuesta = nombre + ";" + correo + ";" + extension + ";" + usuario + ";" + token;

                RespuestaSesion respuestaSesion = new RespuestaSesion();
                IDAOSistema     iDaoSistema     = new DAOSistema();
                resp = iDaoSistema.RegistrarToken(token, DateTime.Now.AddMinutes(15), usuario);

                if (resp.EXISTE_ERROR)
                {
                    throw new Exception("No es posible registrar el Token");
                }
                return(Convert.ToBase64String(Encriptacion.Encriptar(cadRespuesta)));//Retorna cadena encriptada
            }
            catch (Exception ex)
            {
                throw new Exception(new Util().ObtenerMsjExcepcion(ex));
            }
        }
예제 #26
0
        public static bool FormatoContraseña(string contrasena)
        {
            try
            {
                if (MenuLogin.UsuarioGlobal.contra == Encriptacion.Encriptar(contrasena, Encriptacion.Llave))

                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                throw;
            }
        }
예제 #27
0
 private void btnAgregar_Click(object sender, EventArgs e)
 {
     try
     {
         if (string.IsNullOrEmpty(txtnombre.Text) || string.IsNullOrEmpty(txtCedula.Text) || string.IsNullOrEmpty(txtdireccion.Text) || string.IsNullOrEmpty(txtapellidos.Text) || string.IsNullOrEmpty(txcorreo.Text) || string.IsNullOrEmpty(Rol_comboBox.Text))
         {
             MessageBox.Show("Los campos son requeridos");
         }
         else
         {
             RolGlobal = Singleton.opRoles.BuscarRolesPorNombre(Rol_comboBox.Text);
             var idRol = RolGlobal.id_rol.ToString();
             CodigoPin();
             Usuario usu = new Usuario()
             {
                 id_rol    = Convert.ToInt32(idRol),
                 Nombre    = txtnombre.Text,
                 Apellidos = txtapellidos.Text,
                 Direccion = txtdireccion.Text,
                 Correo    = txcorreo.Text,
                 contra    = Encriptacion.Encriptar(contrasena, Encriptacion.Llave),
                 Cedula    = txtCedula.Text
             };
             Singleton.opUsuarios.insertarUsuarios(usu);
             ThreadStart delegado = new ThreadStart(EnvioCorreo);
             Thread      hilo     = new Thread(delegado);
             hilo.Start();
             MessageBox.Show("Usuario Agregado con exito y correo enviado", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
             gv_datos.DataSource = Singleton.opUsuarios.ListarUsuarios();
             txcorreo.Text       = string.Empty;
             txtdireccion.Text   = string.Empty;
             txtapellidos.Text   = string.Empty;
             txtnombre.Text      = string.Empty;
             txtCedula.Text      = string.Empty;
         }
     }
     catch
     {
         MessageBox.Show("Hubo un error", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
예제 #28
0
        public static string RegistrarUsuario(string nombre, string apellido, string usuario, string fecha, string direccion, string dni, string email, string contraseña)
        {
            Usuario NuevoUsuario = new Usuario();

            NuevoUsuario.Apellido          = apellido;
            NuevoUsuario.Contraseña        = encriptacion.Encriptar(contraseña);
            NuevoUsuario.Direccion         = direccion;
            NuevoUsuario.DNI               = Int32.Parse(dni);
            NuevoUsuario.Estado            = false;
            NuevoUsuario.FechaDeNacimiento = DateTime.Parse(fecha);
            NuevoUsuario.Mail              = email;
            NuevoUsuario.Nombre            = nombre;
            NuevoUsuario.NombreUsuario     = usuario;
            NuevoUsuario.RolId             = 1;
            var    resultado = gestor.RegistrarUsuarioJSON(NuevoUsuario);
            string url       = HttpContext.Current.Request.Url.ToString();
            Uri    uri       = new Uri(url);

            mandarEmail.EnviarEmail("Presione el siguiente link para activar la cuenta " + uri.GetLeftPart(UriPartial.Authority) + "/web.aspx?usuario=" + encriptacion.Encriptar(NuevoUsuario.NombreUsuario), NuevoUsuario.Mail, "Registro de Usuario en Geoparking");
            return(resultado);
        }
예제 #29
0
        protected void lgnMapeos_Authenticate(object sender, AuthenticateEventArgs e)
        {
            Usuario user = new Usuario()
            {
                UserName = lgnMapeos.UserName,
                Clave    = Encriptacion.Encriptar(lgnMapeos.Password)
            };

            user.ValidarActivo();
            if (user.Estado == false)
            {
                lgnMapeos.FailureText = "Usuario desactivado.";
            }
            if (user.Estado == true)
            {
                if (user.ValidarUsuario())
                {
                    FormsAuthentication.RedirectFromLoginPage(user.UserName, false);
                    usuario = user;
                }
            }
        }
예제 #30
0
        public static void CreateAccessSecurity()
        {
            using (var transaction = Services.session.BeginTransaction())
            {
                Assembly assembly = typeof(Security).GetTypeInfo().Assembly;

                SecurityDescription attribute     = null;
                MenuDescription     menuAttribute = null;

                Dictionary <string, Gq_perfiles>     roles  = new Dictionary <string, Gq_perfiles>();
                Dictionary <MenuDescription, object> menues = new Dictionary <MenuDescription, object>();
                ArrayList items = new ArrayList();

                Gq_accesosDto itemClass  = null;
                Gq_accesosDto itemMethod = null;

                #region CREACION DE ROLES

                if (ROLES.Length > 0)
                {
                    for (int i = 0; i < ROLES.Length; i++)
                    {
                        if (roles.ContainsKey(ROLES[i]) == false)
                        {
                            roles.Add(ROLES[i], null);
                        }
                    }
                }

                for (int i = 0; i < roles.Keys.Count; i++)
                {
                    string key = roles.Keys.ElementAt(i);
                    var    rol = Services.Get <ServGq_perfiles>().findBy(x => x.KeyName == key).FirstOrDefault();

                    if (rol == null)
                    {
                        rol               = new Gq_perfiles();
                        rol.Nombre        = key;
                        rol.KeyName       = key;
                        rol.Estado        = Constantes.ESTADO_ACTIVO;
                        rol.Creado        = DateTime.Now;
                        rol.Modificado    = DateTime.Now;
                        rol.CreadoPor     = -1;
                        rol.ModificadoPor = -1;

                        Services.Get <ServGq_perfiles>().Agregar(rol);

                        rol = Services.Get <ServGq_perfiles>().findBy(x => x.KeyName == key).FirstOrDefault();
                    }

                    roles[key] = rol;
                }
                #endregion

                #region CREACION DE ACCESOS

                var elementsType = (from iface in assembly.GetTypes()
                                    where iface.Namespace != null && iface.Namespace.Contains("Controllers")
                                    select iface);

                foreach (Type item in elementsType)
                {
                    menuAttribute = (MenuDescription)item.GetTypeInfo().GetCustomAttribute(typeof(MenuDescription), false);
                    if (menuAttribute != null)
                    {
                        menues.Add(menuAttribute, item);
                    }
                    attribute = (SecurityDescription)item.GetTypeInfo().GetCustomAttribute(typeof(SecurityDescription), false);

                    if (attribute != null)
                    {
                        itemClass       = new Gq_accesosDto();
                        itemClass.Clase = getNameObject(item);

                        if (attribute.Estado == SecurityDescription.SeguridadEstado.Activo)
                        {
                            itemClass.Metodo      = null;
                            itemClass.Nombre      = attribute.Name;
                            itemClass.extra       = attribute;
                            itemClass.Descripcion = "Class :" + attribute.Name;

                            //obtenerProfiles(attribute, roles);

                            items.Add(itemClass);
                        }

                        foreach (MethodInfo method in item.GetMethods())
                        {
                            menuAttribute = (MenuDescription)method.GetCustomAttribute(typeof(MenuDescription), true);
                            if (menuAttribute != null)
                            {
                                menues.Add(menuAttribute, method);
                            }

                            attribute = (SecurityDescription)method.GetCustomAttribute(typeof(SecurityDescription), true);
                            if (attribute != null && attribute.Estado == SecurityDescription.SeguridadEstado.Activo)
                            {
                                itemMethod             = new Gq_accesosDto();
                                itemMethod.Clase       = itemClass.Clase;
                                itemMethod.Metodo      = method.Name;
                                itemMethod.Nombre      = attribute.Name;
                                itemMethod.Descripcion = "Method :" + attribute.Name;
                                itemMethod.extra       = attribute;

                                //obtenerProfiles(attribute, roles);

                                items.Add(itemMethod);
                            }
                        }
                    }
                }

                foreach (Gq_accesosDto ii in items)
                {
                    var data = Services.Get <ServGq_accesos>().findBy(x => x.Clase == ii.Clase && x.Metodo == ii.Metodo).FirstOrDefault();
                    if (data == null)
                    {
                        data             = new Gq_accesos();
                        data.Clase       = ii.Clase;
                        data.Metodo      = ii.Metodo;
                        data.Descripcion = ii.Descripcion;
                        data.Nombre      = ii.Nombre;

                        Services.Get <ServGq_accesos>().Agregar(data);


                        data = Services.Get <ServGq_accesos>().findBy(x => x.Clase == ii.Clase && x.Metodo == ii.Metodo).FirstOrDefault();
                    }
                    else
                    {
                        data.Nombre = ii.Nombre;

                        Services.Get <ServGq_accesos>().Actualizar(data);
                    }

                    attribute = (SecurityDescription)ii.extra;
                    if (attribute.Perfiles != null && attribute.Perfiles.Length > 0)
                    {
                        for (int i = 0; i < attribute.Perfiles.Length; i++)
                        {
                            var dataPerfiles = Services.Get <ServGq_perfiles_accesos>().findBy(x => x.AccesoId == data.AccesoId && x.PerfilId == roles[attribute.Perfiles[i]].PerfilId).FirstOrDefault();
                            if (dataPerfiles == null)
                            {
                                dataPerfiles                = new Gq_perfiles_accesos();
                                dataPerfiles.AccesoId       = data.AccesoId.Value;
                                dataPerfiles.PerfilId       = roles[attribute.Perfiles[i]].PerfilId.Value;
                                dataPerfiles.GrantPermition = "1";
                                dataPerfiles.Estado         = "A";
                                dataPerfiles.Creado         = DateTime.Now;
                                dataPerfiles.Modificado     = DateTime.Now;
                                dataPerfiles.CreadoPor      = dataPerfiles.ModificadoPor = -1;

                                Services.Get <ServGq_perfiles_accesos>().Agregar(dataPerfiles);
                            }
                        }
                    }
                }


                #endregion

                #region CREACION DE USUARIO ADMINISTRADOR

                var usuario = Services.Get <ServGq_usuarios>().findBy(x => x.Usuario == "admin").FirstOrDefault();

                if (usuario == null)
                {
                    usuario = new Gq_usuarios
                    {
                        Nombre        = "Admin",
                        Apellido      = "Admin",
                        Usuario       = "admin",
                        Clave         = Encriptacion.Encriptar("admin1234", Constantes.CLAVE_ENCRIPTACION),
                        Email         = "",
                        Estado        = Constantes.ESTADO_ACTIVO,
                        PerfilId      = roles[ROL_ADMI].PerfilId.Value,
                        Creado        = DateTime.Now,
                        Modificado    = DateTime.Now,
                        CreadoPor     = -1,
                        ModificadoPor = -1,
                        RequiereClave = "N",
                    };

                    Services.Get <ServGq_usuarios>().Agregar(usuario);
                }


                #endregion

                #region CREACION DE MENUES

                var menu = Services.Get <ServGq_menu>().findBy(x => x.KeyName == MENU_CONFIG_ID).FirstOrDefault();

                if (menu == null)
                {
                    menu = new Gq_menu();
                    menu.MenuPosition  = MENU_CONFIG_ID;
                    menu.KeyName       = MENU_CONFIG_ID;
                    menu.Nombre        = "Menu";
                    menu.MenuIcono     = "fa fa-fw fa-cogs";
                    menu.Creado        = DateTime.Now;
                    menu.Modificado    = DateTime.Now;
                    menu.CreadoPor     = -1;
                    menu.ModificadoPor = -1;
                    menu.Estado        = Constantes.ESTADO_ACTIVO;

                    Services.Get <ServGq_menu>().Agregar(menu);
                }

                foreach (var m in menues.Keys)
                {
                    menu = Services.Get <ServGq_menu>().findBy(x => x.KeyName == m.Id).FirstOrDefault();
                    if (menu == null)
                    {
                        var obj = menues[m];

                        menu = new Gq_menu();
                        menu.MenuPosition  = m.Id;
                        menu.Nombre        = m.Description;
                        menu.KeyName       = m.Id;
                        menu.MenuIcono     = "";
                        menu.MenuPadre     = m.IdParent;
                        menu.Creado        = DateTime.Now;
                        menu.Modificado    = DateTime.Now;
                        menu.CreadoPor     = -1;
                        menu.ModificadoPor = -1;
                        menu.Estado        = Constantes.ESTADO_ACTIVO;

                        if (obj is Type)
                        {
                            menu.MenuUrl = ((Type)obj).Name.Replace("Controller", "");
                        }
                        else if (obj is MethodInfo)
                        {
                            menu.MenuUrl = ((MethodInfo)obj).DeclaringType.Name.Replace("Controller", "") + @"/" + ((MethodInfo)obj).Name;
                        }

                        Services.Get <ServGq_menu>().Agregar(menu);
                    }
                }
                #endregion

                transaction.Commit();
            }
        }