@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
//authorities登录用户所有的角色的集合
//构建角色列表,角色GrantedAuthority,当前只有一个角色ROLE_SELLER
List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
authorities.add(new SimpleGrantedAuthority("ROLE_SELLER"));
//输入的密码和123456进行匹配,相同通过验证,否则不通过,再根据authorities角色分配相应的资源访问
TbSeller seller = sellerService.findOne(username);
if (seller != null) {
//没过审的商家不能登录
if (seller.getStatus().equals("1")) {
//User类是spring sucerity的UserDetails子类,用户输入的密码和123456进行自动匹配(有spring security框架自动实现提供),相同则登录
return new User(username, seller.getPassword(), authorities);
}else {
return null;
}
}else {
return null;
}
Spring 整合cas认证类
public class UserDetailServiceImpl implements UserDetailsService {
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Collection<GrantedAuthority> authities = new ArrayList<GrantedAuthority>();
authities.add(new SimpleGrantedAuthority("ROLE_USER"));
/*这里与单纯的spring security认证不同的是这里没有写密码,也没有查询数据库是因为这个不是在本地工程做的,
而是因为cas帮忙做了,这里已经是认证成功了的用户,只是为了返回用户信息方便后面使用*/
return new User(username, "", authities );
}
}