37 lines
1.2 KiB
Java
37 lines
1.2 KiB
Java
package com.codesdream.ase.service;
|
|
|
|
import com.codesdream.ase.component.permission.UserAuthoritiesGenerator;
|
|
import com.codesdream.ase.exception.UserNotFoundException;
|
|
import com.codesdream.ase.model.permission.User;
|
|
import org.springframework.security.authentication.AuthenticationServiceException;
|
|
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 javax.annotation.Resource;
|
|
import javax.transaction.Transactional;
|
|
|
|
@Service
|
|
public class ASEUserDetailsService implements UserDetailsService {
|
|
|
|
@Resource
|
|
IUserService userService;
|
|
|
|
@Resource
|
|
UserAuthoritiesGenerator userAuthoritiesGenerator;
|
|
|
|
@Override
|
|
@Transactional
|
|
public UserDetails loadUserByUsername(String s) {
|
|
try {
|
|
User user = userService.findUserByUsername(s);
|
|
user.setAuthorities(userAuthoritiesGenerator.grantedAuthorities(user));
|
|
return user;
|
|
} catch (UserNotFoundException e){
|
|
throw new AuthenticationServiceException("User Not Exist");
|
|
}
|
|
|
|
}
|
|
}
|