自定义验证类UserDetailsService 实现Security框架UserDetailsService的接口

 1 // 自定义验证类UserDetailsService 实现Security框架UserDetailsService的接口
 2 public class UserDetailServiceImpl implements UserDetailsService {
 3 //修改UserDetailsServiceImpl.java ,添加属性和setter方法 ,修改loadUserByUsername方法
 4 private SellerService sellerService;
 5 public void setSellerService(SellerService sellerService){
 6 this.sellerService=sellerService;
 7 }
 8 @Override
 9 public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
10 
11 /**
12 *构建角色列表
13 */
14 // 权限集合
15 List<GrantedAuthority> authList = new ArrayList<>();
16 // 具体具有什么的权限
17 authList.add(new SimpleGrantedAuthority("ROLE_SELLER"));
18 //1 判断用户名是否为null 如果为null 直接返回null
19 if(username==null){
20 return null;
21 }
22 
23 //得到商家对象
24 
25 //2 根据用户名到数据库查询 用户对象
26 Seller seller = sellerService.findOne(username);
27 //3 如果用户查不到 返回null
28 if(seller!=null){
29 //4 如果用户对象查到了 判断用户审核 是否通过 如果未通过返回null
30 if("1".equals(seller.getStatus())){
31 //5 返回user 对象 将用户名 密码 返回权限集合
32 return new User(username,seller.getPassword(),authList);
33 }
34 
35 }
36 return null;
37 //6 框架帮助比对用户名和密码是否匹配
38 }
39 }

猜你喜欢

转载自www.cnblogs.com/xxblogs/p/11870755.html