Springboot: где расширить UserDetailsService?JAVA

Программисты JAVA общаются здесь
Anonymous
Springboot: где расширить UserDetailsService?

Сообщение Anonymous »

Я новичок в Springboot и погрузился в проект, чтобы изучить его. У меня есть UserService и Java-файл UserService. Мне понадобится расширенный UserDetailsService, но я не знаю, где его расширить?
Случай использования: получение имени пользователя в отдельном Java-файле JWTAUTHFILTER

Код: Выделить всё

if(userEmail != null && SecurityContextHolder.getContext().getAuthentication() == null){
UserDetails userDetails = userService.findByUsername(userEmail);

}
Мой UserService.java

Код: Выделить всё


public interface UserService {
UserDto createUser(UserDto user);

}
Мой класс Impl:

Код: Выделить всё


@Service
public class UserImpl implements UserService {

private final UserRepository userRepository;
private PasswordEncoder passwordEncoder;

@Autowired
public UserImpl(final UserRepository userRepository){
this.userRepository = userRepository;
}

@Override
public UserDto createUser(UserDto user) {
user.setPassword(passwordEncoder.encode(user.getPassword()));
UserEntity userEntity = userToUserEntity(user);
userRepository.save(userEntity);
return user;
}

@Override
public Optional findByUsername(String username) {
Optional userName = userRepository.findByUsername(username);
return userName.map(user -> userEntityToUserModel(user));
}

private UserEntity userToUserEntity(final UserDto user){
// UserEntity userEntity = new UserEntity();
// userEntity.setUsername(user.getUsername());
// userEntity.setId(user.getId());
// userEntity.setPassword(user.getPassword());
// userEntity.setRole(user.getRole());
return UserEntity.builder()
.id(user.getId())
.username(user.getUsername())
.role(user.getRole())
.password(user.getPassword())
.build();
}

private UserDto userEntityToUserModel (final UserEntity userEntity){
return UserDto.builder()
.id(userEntity.getId())
.password(userEntity.getPassword())
.role(userEntity.getRole())
.username(userEntity.getUsername())
.build();
}

}
Я так запутался, учебник, который я использую, не использует DTO и отдельный сервис и его реализацию, может кто-нибудь мне помочь.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ilsservice

Вернуться в «JAVA»