package br.ufrgs.inf.dsmoura.repository.controller.login; import br.ufrgs.inf.dsmoura.repository.controller.exception.UserNotFoundException; import br.ufrgs.inf.dsmoura.repository.controller.util.SecurityUtil; import br.ufrgs.inf.dsmoura.repository.model.dao.UserDAO; import br.ufrgs.inf.dsmoura.repository.model.entity.UserDTO; public class DatabaseUserAuthentication implements UserAuthentication { @Override public boolean authenticateUser(String username, String password) throws UserNotFoundException { UserDTO userWithUsernameDTO = UserDAO.getInstance().findByUsername(username); if (userWithUsernameDTO == null) { throw new UserNotFoundException(); } String hashedPassword = SecurityUtil.generateHash(password); return hashedPassword.equals(userWithUsernameDTO.getPassword()); } }