public override Task <LoginStatus> AutenticarUsuario(UsuarioAAutenticar request, ServerCallContext context) { Autenticacion autenticacion = new Autenticacion(); Usuario usuario = autenticacion.AutenticarUsuario(request.Nombre, request.Password); LoginStatus status = new LoginStatus(); if (usuario != null) { status.Codigo = 0; status.Mensaje = "Autenticacion exitosa."; status.UsuarioDelServicio = new UsuarioDelServicio(); status.UsuarioDelServicio.Id = usuario.Id; status.UsuarioDelServicio.Contrasena = usuario.GetContrasena(); status.UsuarioDelServicio.NombreDeUsuario = usuario.NombreDeUsuario; status.UsuarioDelServicio.TieneSuscripcion = usuario.TieneSuscripcion; if (usuario.IdArtista != null) { status.UsuarioDelServicio.IdArtista = usuario.IdArtista; } } else { status.Codigo = 1; status.Mensaje = "Autenticacion fallida, las credenciales ingresadas no coinciden con alguna registrada en nuestro sistema."; } return(Task.FromResult(status)); }
private void Login() //Aqui se implementa la autenticacion Active Directory { while (Jugador == null) //Mientras el jugador no haya sido definido { try { string json = Reader.ReadLine(); // json enviado desde el cliente Jugador deserializedJugador = JsonConvert.DeserializeObject <Jugador>(json); // Esperado: Un objeto jugador en formato JSON if (deserializedJugador != null) // Validar que no sea un jugador null { if (Autenticacion.AutenticarUsuario(deserializedJugador.NombreUsuario, deserializedJugador.Password)) { Writer.WriteLine(JsonConvert.SerializeObject("true")); // Confirmacion al cliente de autenticacion exitosa Console.WriteLine("Los credenciales del jugador son correctos!\n"); Console.WriteLine("Nombre del jugador: " + deserializedJugador.NombreUsuario + "\n"); this.Jugador = deserializedJugador; // Set del jugador entrarSala(Socket); // Se entra a la sala } else { Writer.WriteLine(JsonConvert.SerializeObject("false")); // Confirmacion al cliente de autenticacion exitosa Console.WriteLine("Los credenciales del jugador son incorrectos!\n"); Disconnect(); // Desconectar el cliente en caso de credenciales incorrectos } } else { Writer.WriteLine(JsonConvert.SerializeObject("false")); // Error de autenticacion Thread.Sleep(5000); } } catch { Disconnect(); // Desconectar el cliente en caso de error } } }