zoukankan      html  css  js  c++  java
  • 分布式项目中Spring security自定义权限类

    package cn.lijun.core.service;

    import cn.lijun.core.pojo.seller.Seller;
    import org.springframework.security.core.GrantedAuthority;
    import org.springframework.security.core.authority.SimpleGrantedAuthority;
    import org.springframework.security.core.userdetails.*;
    import org.springframework.security.core.userdetails.UsernameNotFoundException;
    import java.util.ArrayList;
    import java.util.List;

    /**
    * @author lijun
    * @date 2019/9/18 16:55
    * 自定义认证类
    */
    public class UserDetailServiceImpl implements UserDetailsService {

    private SellerService sellerService;
    public void setSellerService(SellerService sellerService){
    this.sellerService=sellerService;
    }
    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
    // 权限集合
    List<GrantedAuthority> arrayList = new ArrayList<GrantedAuthority>();
    // 具有什么样的权限
    arrayList.add(new SimpleGrantedAuthority("ROLE_SELLER"));
    // 1 判断用户名是否为空 如果为null 返回null
    if(username==null){
    return null;
    }

    //2 根据名到数据库查询对应的用户对象
    Seller seller = sellerService.findOne(username);
    //3 如果用户名找不到 返回null
    if(seller!=null){
    // 4 如果找到了 判断用户审核状态 如果未通过 fanhui null
    if("1".equals(seller.getStatus())){
    // 5 返回springSecurity的User对象 将这个用户 密码 所应该具有的访问权限集合返回
    return new User(username,seller.getPassword(),arrayList);
    }

    }

    return null;
    }
    }
  • 相关阅读:
    Taxes
    Tennis Championship
    Urbanization
    字符串的匹配
    Alyona and a tree
    Alyona and mex
    Alyona and flowers
    Alyona and copybooks
    Subordinates
    线程的暂停、恢复和终止
  • 原文地址:https://www.cnblogs.com/lijun6/p/11544044.html
Copyright © 2011-2022 走看看