25,988
社区成员




@Component("myUserDetailServiceImpl")
public class MyUserDetailsServiceImpl implements UserDetailsService {
private TUserManager userManager;// Spring注入
public MyUserDetailsServiceImpl(){
System.out.println("MyUserDetailsServiceImpl init!");
}
@Override
public UserDetails loadUserByUsername(String username) {
Collection<GrantedAuthority> auths=new ArrayList<GrantedAuthority>();
String password=null;
System.out.println("username is " + username);
System.out.println(this.userManager.toString());
System.out.println(this.userManager.getClass());
//Collection<GrantedAuthority> auths = new ArrayList<GrantedAuthority>();
System.out.println("开始载入名字为"+username+" 的User...");
TUser u = new TUser();
//取得用户
try{
u = this.userManager.findtUser(username);//userManager 为 NULL
}catch (Exception e ){
e.printStackTrace();
}
System.out.println("载入成功");
if (u == null){
String message = "用户"+username+"不存在";
throw new UsernameNotFoundException(message);
}
password=u.getPassword();
//取得用户角色(role),即权限
Set<TRole> tRoles = u.getRoles();
for(TRole r : tRoles){
SimpleGrantedAuthority grantedAuthorityImpl = new SimpleGrantedAuthority(r.getName());
System.out.println("用户:["+u.getUsername()+"]拥有角色:["+r.getName()+"],即spring security中的access");
auths.add(grantedAuthorityImpl);
}
User user = new User(username,password, true, true, true, true, auths);
return user;
}
public TUserManager getUserManager() {
return userManager;
}
@Resource(name="tuserManager")
public void setUserManager(TUserManager userManager) {
this.userManager = userManager;//不会注入
System.out.println("=====spring注入userManager:"+this.userManager.toString()+"======");
}
}