示例#1
0
 @Transactional
 public LoginInfo loginAttempt(final String username, final String password) {
   try {
     List<User> users = userDao.loginAttempt(username, password);
     LoginInfo loginInfo = new LoginInfo();
     if (users.size() == 1) {
       loginInfo.setAuthorized(PasswordHash.validatePassword(password, users.get(0).getHash()));
       loginInfo.setUser(users.get(0));
       return loginInfo;
     } else if (users.size() == 0) {
       return null;
     } else {
       throw new UserProcessingException("Duplicate entries were found in table 'users'");
     }
   } catch (Throwable t) {
     LOGGER.warn("Exception occurred during login attempt, error: " + t);
   }
   return null;
 }