| | |
| | | package com.genersoft.iot.vmp.conf.security; |
| | | |
| | | import com.alibaba.excel.util.StringUtils; |
| | | import com.genersoft.iot.vmp.conf.security.dto.LoginUser; |
| | | import com.genersoft.iot.vmp.service.IUserService; |
| | | import com.genersoft.iot.vmp.storager.dao.dto.User; |
| | | import com.github.xiaoymin.knife4j.core.util.StrUtil; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.core.CredentialsContainer; |
| | | import org.springframework.security.core.GrantedAuthority; |
| | | import org.springframework.security.core.SpringSecurityCoreVersion; |
| | | import org.springframework.security.core.userdetails.UserDetails; |
| | | import org.springframework.security.core.userdetails.UserDetailsService; |
| | | import org.springframework.security.core.userdetails.UsernameNotFoundException; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.Collection; |
| | | |
| | | /** |
| | | * 用户登录认证逻辑 |
| | |
| | | |
| | | @Override |
| | | public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { |
| | | if (StrUtil.isBlank(username)) { |
| | | if (StringUtils.isBlank(username)) { |
| | | logger.info("登录用户:{} 不存在", username); |
| | | throw new UsernameNotFoundException("登录用户:" + username + " 不存在"); |
| | | } |
| | | |
| | | // 查出密码 |
| | | User user = userService.getUserByUsername(username); |
| | | String password = SecurityUtils.encryptPassword(user.getPassword()); |
| | | user.setPassword(password); |
| | | if (user == null) { |
| | | logger.info("登录用户:{} 不存在", username); |
| | | throw new UsernameNotFoundException("登录用户:" + username + " 不存在"); |
| | | } |
| | | String password = SecurityUtils.encryptPassword(user.getPassword()); |
| | | user.setPassword(password); |
| | | return new LoginUser(user, LocalDateTime.now()); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |