Java之品優購課程講義_day04(8)

5.1 認證類調用服務方法
修改 UserDetailsServiceImpl.java ,添加屬性和 setter 方法 ,修改 loadUserByUsername 方法

/**

*認證類

*@author  Administrator

*

*/

public  class  UserDetailsServiceImpl  implements  UserDetailsService  {

private  SellerService  sellerService;

public  void  setSellerService(SellerService  sellerService)  {

this.sellerService  =  sellerService;

}

@Override

public  loadUserByUsername(String  username)  throws
UsernameNotFoundException  {

System.out.println("經過了 UserDetailsServiceImpl");

//構建角色列表

List<GrantedAuthority>  grantAuths=new ArrayList();

grantAuths.add(new  SimpleGrantedAuthority("ROLE_SELLER"));

//得到商家對象

TbSeller  seller  =  sellerService.findOne(username);

if(seller!=null){ if(seller.getStatus().equals("1")){

}else{
}

}else{

}

}

}
修改 pinyougou-shop-web 的 spring-security.xml ,添加如下配置
經過上述修改後,在登陸頁輸入用戶名和密碼與數據庫一致即可登陸 。 5.1 密碼加密 5.4.1 BCrypt 加密算法 用戶表的密碼通常使用 MD5 等不可逆算法加密後存儲,爲防止彩虹表破解更會先使用一個特定的字符串(如域名)加密,然後再使用一個隨機的 salt(鹽值)加密。 特定字符串是程序代碼中固定的,salt 是每個密碼單獨隨機,一般給用戶表加一個字段單獨存儲,比較麻煩。 BCrypt 算法將 salt 隨機並混入最終加密後的密碼,驗證時也無需單獨提供之前的 salt,從而無需單獨處理 salt 問題。 5.4.1 商家入駐密碼加密 商家申請入駐的密碼要使用 BCrypt 算法進行加密存儲,修改 SellerController.java 的 add 方法 ``` /**[/size][/font][/align][font=微軟雅黑][size=3] *增加 *@param seller *@return */ @RequestMapping("/add") public Result add(@RequestBody TbSeller seller){ //密碼加密 BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); String password = passwordEncoder.encode(seller.getPassword()); seller.setPassword(password); try { sellerService.add(seller); return new Result(true, "增加成功"); } catch (Exception e) { e.printStackTrace(); return new Result(false, "增加失敗"); } } ``` 5.4.1 加密配置 修改 pinyougou-shop-web 的 spring-security.xml ,添加如下配置 `` 修改認證管理器的配置 ``` ``` 5.5 顯示登錄名 參照運營商後臺 5.6 退出登錄 參照運營商後臺
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章