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); } }
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(""); }
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); }
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); }