По умолчанию поле логина используется для входа пользователя в приложение.Но с последней версией JHipster (я не уверен, с какой версии она была реализована) вы можете регистрировать пользователя по электронной почте.
В DomainUserDetailsService.java:
public UserDetails loadUserByUsername(final String login) {
log.debug("Authenticating {}", login);
if (new EmailValidator().isValid(login, null)) {
return userRepository.findOneWithAuthoritiesByEmail(login)
.map(user -> createSpringSecurityUser(login, user))
.orElseThrow(() -> new UsernameNotFoundException("User with email " + login + " was not found in the database"));
}
String lowercaseLogin = login.toLowerCase(Locale.ENGLISH);
return userRepository.findOneWithAuthoritiesByLogin(lowercaseLogin)
.map(user -> createSpringSecurityUser(lowercaseLogin, user))
.orElseThrow(() -> new UsernameNotFoundException("User " + lowercaseLogin + " was not found in the database"));
}
НоЛогин по-прежнему уникален, так как почта, имя и фамилия не являются.Даже если у вас есть старая версия JHipster, я уверен, что вы можете добавить этот код для поддержки аутентификации электронной почты и входа в систему.
протестировано с JWT и последней версией JHipster!