changed myuserdetailsservice to use userservice instead of calling userrolerepository directly.
This commit is contained in:
parent
f9e6e3085c
commit
b83417570d
@ -4,7 +4,7 @@ import java.util.List;
|
||||
|
||||
import org.ros.chatto.model.ChatUser;
|
||||
import org.ros.chatto.model.UserRole;
|
||||
import org.ros.chatto.repository.UserRoleRepository;
|
||||
import org.ros.chatto.service.UserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.userdetails.User;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
@ -12,26 +12,28 @@ import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class MyUserDetailsService implements UserDetailsService {
|
||||
|
||||
|
||||
@Autowired
|
||||
private UserRoleRepository userRoleRepository;
|
||||
|
||||
private UserService userService;
|
||||
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(String username) {
|
||||
List<UserRole> userRoles = userRoleRepository.findByUser(username);
|
||||
System.out.println("Test from userdetails");
|
||||
|
||||
log.trace("User Details - loading with username: {}", username);
|
||||
List<UserRole> userRoles = userService.getUserWithRole(username);
|
||||
if (userRoles.size() == 0) {
|
||||
log.warn("Request for unknown user {}", username);
|
||||
throw new UsernameNotFoundException(username);
|
||||
}
|
||||
ChatUser user = userRoles.get(0).getUser();
|
||||
return User.withUsername(user.getUserName()).password(user.getPassword())
|
||||
.roles(userRoles.stream().map(userRole -> {
|
||||
System.out.println("role = " + userRole.getRole().getName());
|
||||
log.trace("role = " + userRole.getRole().getName());
|
||||
return userRole.getRole().getName();
|
||||
}).toArray(size -> new String[size])).build();
|
||||
}
|
||||
|
@ -15,4 +15,5 @@ public interface UserService {
|
||||
public List<String> getAllRegularUsers();
|
||||
public ChatUser findByUserName(String userName);
|
||||
public List<ActiveUserDTO> getOtherActiveUsers(String userName);
|
||||
public List<UserRole> getUserWithRole(String userName);
|
||||
}
|
||||
|
@ -36,7 +36,6 @@ public class UserServiceImpl implements UserService {
|
||||
@Autowired
|
||||
private RoleService roleService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private UserSessionRepository userSessionRepository;
|
||||
|
||||
@ -83,8 +82,7 @@ public class UserServiceImpl implements UserService {
|
||||
activeUserDTO.setUserName(u);
|
||||
activeUserDTO.setOnline(false);
|
||||
activeUserDTO.setLastActive(null);
|
||||
if(us != null)
|
||||
{
|
||||
if (us != null) {
|
||||
activeUserDTO.setOnline(us.isOnline());
|
||||
activeUserDTO.setLastActive(toLastActiveString(us.getTimeStamp()));
|
||||
}
|
||||
@ -145,4 +143,10 @@ public class UserServiceImpl implements UserService {
|
||||
// @formatter:on
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public List<UserRole> getUserWithRole(String userName) {
|
||||
return userRoleRepository.findByUser(userName);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user