Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

173
Vistas
Cosas que intentan crear un inicio de sesión de usuario en hibernate/spring

No estoy seguro de lo estúpido que he codificado esto, pero estoy intentando hacer que un usuario firme que haga referencia cruzada a mi base de datos mySql. No estoy seguro si estoy haciendo esto correctamente. Gracias por cualquier consejo.

Método de inicio de sesión

 @Repository public class LoginDAOImpl implements LoginDAO { private SessionFactory sessionFactory; @Override public boolean checkLogin(String userName, String password) { Session session = sessionFactory.openSession(); boolean userLogin = false; Query query = session.createQuery("FROM Users u WHERE u.userName=? AND u.password=?"); query.setParameter(0, password); query.setParameter(1, userName); List list = query.getResultList(); if ((userName != null) && (list.size() > 0)) { userLogin = true; } return userLogin; } }

Controlador

 @Controller public class UserController { private UserDAO userDAO; @Autowired private LoginDAOImpl loginDAO; @Autowired public void setUserDao(UserDAO userDAO){ this.userDAO = userDAO; } @GetMapping("/home") public String userSignup(Model model, @RequestParam("username")String username, @RequestParam("password") String password){ loginDAO.checkLogin(username, password); return "user-signin"; } @GetMapping("/UserForm") public String userSigninForm(Model model){ model.addAttribute("user", new Users()); return "user-signup"; } @PostMapping("/saveUser") public String savedUserForm(@ModelAttribute("user") Users users){ userDAO.save(users); return "redirect:/home"; } }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No creo que tu código tenga la oportunidad de funcionar:

  1. Parámetros en su consulta ordenados como: nombre de usuario, contraseña; pero llama al método setParameter(...) con índices incorrectos.

     Query query = session.createQuery("FROM Users u WHERE u.userName=? AND u.password=?"); query.setParameter(0, password); query.setParameter(1, userName);
  2. ¿Por qué se realiza la validación del nombre de usuario después de ejecutar la consulta?

Dado que está utilizando Spring Framework en su proyecto, puede utilizar el proyecto Spring Security. Los muchachos de Spring ya se encargaron de lo que está tratando de implementar.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda