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 }