Пример #1
0
        public static void RestablecerContrasenia(string email, string contrasenia)
        {
            Usuario usuario = UsuarioMapper.Obtener(email);

            if (usuario != null)
            {
                usuario.Contrasenia       = Encriptador.Encriptar(contrasenia);
                usuario.IntentosLogin     = 0;
                usuario.TokenRecuperacion = null;

                UsuarioMapper.Guardar(usuario);
            }
        }
Пример #2
0
        public static string GenerarTokenContrasenia(string email)
        {
            Usuario usuario = UsuarioMapper.Obtener(email);

            if (usuario != null)
            {
                Random       random = new Random();
                const string chars  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                string       token  = new string(Enumerable.Repeat(chars, 40).Select(s => s[random.Next(s.Length)]).ToArray());

                usuario.TokenRecuperacion = token;
                UsuarioMapper.Guardar(usuario);

                return(token);
            }

            return("");
        }
Пример #3
0
        public static bool ValidarToken(string email, string token)
        {
            Usuario usuario = UsuarioMapper.Obtener(email);

            if (usuario != null)
            {
                if (usuario.TokenRecuperacion == token)
                {
                    return(true);
                }
                else
                {
                    usuario.TokenRecuperacion = null;
                    UsuarioMapper.Guardar(usuario);
                }
            }

            return(false);
        }
Пример #4
0
        public static Usuario Login(string email, string contrasenia, out bool estaBloqueado)
        {
            estaBloqueado = false;
            try
            {
                Usuario usuario = UsuarioMapper.Obtener(email);
                if (usuario != null)
                {
                    if (usuario.IntentosLogin < 3)
                    {
                        string contraseniaEncriptada = Encriptador.Encriptar(contrasenia);
                        if (contraseniaEncriptada == usuario.Contrasenia)
                        {
                            if (usuario.IntentosLogin > 0)
                            {
                                usuario.IntentosLogin = 0;
                                UsuarioMapper.Guardar(usuario);
                            }

                            if (TienePermiso(usuario, Permisos.LOGIN))
                            {
                                return(usuario);
                            }
                        }
                        else
                        {
                            usuario.IntentosLogin++;
                            UsuarioMapper.Guardar(usuario);
                        }
                    }
                    else
                    {
                        estaBloqueado = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Log.Grabar(ex);
            }

            return(null);
        }
Пример #5
0
        public static bool Guardar(Usuario usuario, out string mensaje)
        {
            try
            {
                if (UsuarioMapper.Existe(usuario.Email))
                {
                    mensaje = "Ya existe un usuario registrado con ese correo electrónico";
                    return(false);
                }

                usuario.Contrasenia = Encriptador.Encriptar(usuario.Contrasenia);
                Permiso perfilUsuarioBasico = PermisoManager.Obtener(Familias.USUARIO_BASICO);
                usuario.Permisos.Add(perfilUsuarioBasico);
                bool guardadoOk = UsuarioMapper.Guardar(usuario);
                mensaje = guardadoOk ? "Usuario guardado correctamente" : "Ocurrió un error al guardar el usuario";

                return(guardadoOk);
            }
            catch
            {
                mensaje = "Ocurrió un error al guardar el usuario";
                return(false);
            }
        }