public RespuestaOperacionServicio AutenticarUsuario(UsuarioAuth data) { RespuestaOperacionServicio rpta = new RespuestaOperacionServicio(); RespuestaCerbero respuesta = new RespuestaCerbero(); try { string user = data.user; string pass = data.pass; string captcha = data.captcha; bool bValidacionCaptcha = ReCaptcha.Validate(captcha); if (!bValidacionCaptcha) { rpta.Resultado = Constants.RESPUESTA_CAPTCHA_ERROR; rpta.Error = "La validación CAPTCHA no ha sido correcta."; return(rpta); } CerberoResult resultValidate = CerberoService.ValidarVersion(Constants.CERBERO_SYSTEM_CODE, Constants.CERBERO_VERSION, Constants.CERBERO_TYPE_INFORMATION); if (resultValidate.respuesta == 1) { CerberoResult resultAuntenticar = CerberoService.AutenticarUsuario(Constants.CERBERO_SYSTEM_CODE, user, pass, 0); if (resultAuntenticar.respuesta == 1) { string tokenString = Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format("{0}{1}{2}", user, DateTime.Now.Millisecond, DateTime.Now.ToShortTimeString()))); List <string> opciones = resultAuntenticar.opciones.Split('|').ToList(); UsuarioRespuesta usuario = new UsuarioRespuesta(user, tokenString, opciones); RestDataResponse response = new RestDataResponse(user, tokenString, opciones, RestDataResponse.STATUS_OK, "Usuario logueado correctamente"); respuesta.response = response; Usuarios ObjUsuario = new Usuarios(); string IDUsuarioPerfil = ObjUsuario.obtenerIdUsuario(respuesta.response.usuario.ToUpper()); respuesta.response.idUsuario = Convert.ToInt32(IDUsuarioPerfil.Split('|')[0]); respuesta.response.perfil = IDUsuarioPerfil.Split('|')[1]; rpta.Resultado = Constants.RESPUESTA_KERBERO_OK; rpta.data = respuesta; } else { throw new Exception(resultAuntenticar.mensaje); } } else { throw new Exception(resultValidate.mensaje); } } catch (Exception ex) { rpta.Resultado = Constants.RESPUESTA_KERBERO_ERROR; rpta.Error = ex.Message; } return(rpta); }
public UsuarioRespuesta Auth(Autenticacion autenticacion) { UsuarioRespuesta usuarioRespuesta = new UsuarioRespuesta(); using (var db = new Almacen_dbContext()) { string password = Encrypt.GetSHA256(autenticacion.Password); var usuario = db.Usuario.Where(u => u.Email == autenticacion.Email && u.Password == password).FirstOrDefault(); if (usuario == null) { return(null); } usuarioRespuesta.Email = usuario.Email; usuarioRespuesta.Token = GetToken(usuario); } return(usuarioRespuesta); }
public UsuarioRespuesta Autentificacion(LoginViewModel model) { UsuarioRespuesta respuesta = new UsuarioRespuesta(); using (var db = new SIPGAVContext()) { string pass = Encriptar.GetSHA256(model.Password); var usuario = db.Usuarios.Where(d => d.Correo == model.Correo && d.Password == pass).FirstOrDefault(); if (usuario == null) { return(null); } respuesta.Correo = usuario.Correo; respuesta.Token = GetToken(usuario); } return(respuesta); }