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;
    }
    }
  • 相关阅读:
    WCF初探-21:WCF终结点(endpoint)
    WCF初探-20:WCF错误协定
    WCF初探-19:WCF消息协定
    WCF初探-18:WCF数据协定之KnownType
    WCF初探-17:WCF数据协定之等效性
    WCF初探-16:WCF数据协定之基础知识
    WCF初探-15:WCF操作协定
    WCF初探-14:WCF服务协定
    WCF初探-13:WCF客户端为双工服务创建回调对象
    WCF初探-12:WCF客户端异常处理
  • 原文地址:https://www.cnblogs.com/lijun6/p/11544044.html
Copyright © 2011-2022 走看看