5.1 认证类调用服务方法
修改 UserDetailsServiceImpl.java ,添加属性和 setter 方法 ,修改 loadUserByUsername 方法
/***认证类*@author Administrator**/public class UserDetailsServiceImpl implements UserDetailsService {private SellerService sellerService;public void setSellerService(SellerService sellerService) {this.sellerService = sellerService;}@Overridepublic loadUserByUsername(String username) throwsUsernameNotFoundException {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 退出登录参照运营商后台
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦