package com.moral.service.impl;
|
|
import com.moral.entity.auth.AuthRole;
|
import com.moral.entity.auth.AuthUser;
|
import com.moral.service.UserService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
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;
|
|
import java.util.Collection;
|
import java.util.HashSet;
|
import java.util.Iterator;
|
|
@Service
|
public class AuthUserServiceImpl implements UserDetailsService {
|
|
@Autowired
|
private UserService userService;
|
|
@Override
|
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
AuthUser user = userService.findByUsername(username);
|
|
if(user == null){
|
throw new UsernameNotFoundException("用户名:"+ username + "不存在!");
|
}
|
Collection<SimpleGrantedAuthority> collection = new HashSet<SimpleGrantedAuthority>();
|
Iterator<AuthRole> iterator = user.getList().iterator();
|
while (iterator.hasNext()){
|
collection.add(new SimpleGrantedAuthority(iterator.next().getRole_name()));
|
}
|
|
return new org.springframework.security.core.userdetails.User(username, user.getPassword(), collection);
|
}
|
}
|