自定义验证类UserDetailsService 实现Security框架UserDetailsService的接口
Posted xxblogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义验证类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 }
以上是关于自定义验证类UserDetailsService 实现Security框架UserDetailsService的接口的主要内容,如果未能解决你的问题,请参考以下文章
三UserDetailsService与PasswordEncoder接口详解
三UserDetailsService与PasswordEncoder接口详解
在 Spring Security 中使用 UserDetailSservice 使用电子邮件进行登录身份验证
项目一众筹网07_04_SpringSecurity记住我数据库登录-默认实现创建UserDetailsService类装配UserDetailsService怎么改源码