ASE-New/src/main/java/com/codesdream/ase/service/ASEUserDetailsService.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");
}
}
}