@Override public AccountDTO registerUser(RegistrationForm registrationForm) { if (null == registrationForm) { log.error("registrationForm was invalid, registration failed"); } else { registrationForm.setPassword(EncodingUtils.encrypt(registrationForm.getPassword())); Account account = getMapper().map(registrationForm, Account.class); account.setAuthorities(new HashSet<>(Arrays.asList(Authority.AUTHOR))); return getMapper().map(accountRepository.save(account), AccountDTO.class); } return null; }
@Override public UserDetails loadUserByUsername(String login) throws UsernameNotFoundException { UserDetails userDetails = null; Account account = accountRepository.findByLogin(login); if (null == account) { log.warn("User " + login + " not found"); throw new UsernameNotFoundException("User " + login + " not found."); } List<GrantedAuthority> authorities = buildUserAuthority(account.getAuthorities()); userDetails = buildUserForAuthentication(account, authorities); return userDetails; }
private User buildUserForAuthentication(Account account, List<GrantedAuthority> authorities) { return new User( account.getUsername(), account.getPassword(), account.isEnabled(), account.isAccountNonExpired(), account.isCredentialsNonExpired(), account.isAccountNonLocked(), authorities); }