28 lines
977 B
Java
28 lines
977 B
Java
package com.krylov.refound.service.security;
|
|
|
|
import com.krylov.refound.entity.User;
|
|
import com.krylov.refound.repository.UserRepository;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
@Service
|
|
@RequiredArgsConstructor
|
|
public class CustomUserDetailsService implements UserDetailsService {
|
|
private final UserRepository repository;
|
|
|
|
@Override
|
|
public UserDetails loadUserByUsername(String email) {
|
|
User user = repository.findByEmail(email)
|
|
.orElseThrow(() -> new UsernameNotFoundException("User not found"));
|
|
|
|
return org.springframework.security.core.userdetails.User
|
|
.withUsername(user.getEmail())
|
|
.password(user.getPassword())
|
|
.authorities("USER")
|
|
.build();
|
|
}
|
|
}
|