add spring security and token management
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package com.iconplus.smartproc.configuration;
|
||||
|
||||
import com.iconplus.smartproc.model.projection.UserRoleView;
|
||||
import com.iconplus.smartproc.repository.RolesRepository;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
public class CustomUserDetailsService implements UserDetailsService {
|
||||
|
||||
private final RolesRepository rolesRepository;
|
||||
|
||||
public CustomUserDetailsService(RolesRepository rolesRepository) {
|
||||
this.rolesRepository = rolesRepository;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(String username) {
|
||||
List<SimpleGrantedAuthority> authorities = null;
|
||||
Optional<UserRoleView> userRole = rolesRepository.getUserRoleByUserId(username);
|
||||
if (userRole.isPresent()) {
|
||||
authorities=List.of(new SimpleGrantedAuthority(userRole.get().getRole()));
|
||||
}
|
||||
|
||||
return new org.springframework.security.core.userdetails.User(username, username, authorities);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user