自定義驗證類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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM