ganzi-api/inventory-ent/src/main/java/com/rzyc/config/UserDetailsServiceImpl.java

60 lines
2.0 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.rzyc.config;
import com.rzyc.mapper.ent.EntUserMapper;
import com.rzyc.model.ent.EntUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* spring security 用户认证过程
* @author Xuwanxin
* @author 2022/09/27
* */
@Service("userService")
public class UserDetailsServiceImpl implements UserDetailsService {
/**
* 内存过程密码加密
* */
private PasswordEncoder passwordEncoder;
/**
* 企业端用户
* */
private EntUserMapper entUserMapper;
@Autowired
public void UserDetailsServiceImplFinder(PasswordEncoder passwordEncoder,EntUserMapper entUserMapper) {
this.passwordEncoder = passwordEncoder;
this.entUserMapper = entUserMapper;
}
@Override
public UserDetails loadUserByUsername(String name) throws UsernameNotFoundException {
//判断数据库用户
EntUser entUser = entUserMapper.selectByName(name);
if (Objects.isNull(entUser)){
throw new UsernameNotFoundException("用户名或密码错误");
}
// 获取用户权限
List<GrantedAuthority> authority= new ArrayList<GrantedAuthority>();
//给通过登陆的进行role权限也可以根据业务调整
authority.add(new SimpleGrantedAuthority("ROLE_ADMIN"));
return new EntUserDetails(entUser.getName(), passwordEncoder.encode(entUser.getPasswd()), authority,entUser.getEntUserId());
}
}