• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

129
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"; } }
almost 3 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.

almost 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda