Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

174
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!