对比新文件 |
| | |
| | | package com.gk.firework.Config.Oauth2; |
| | | |
| | | import com.gk.firework.Domain.UserInfo; |
| | | import com.gk.firework.Domain.Utils.CommonUtil; |
| | | import com.gk.firework.Domain.Utils.Constants; |
| | | import com.gk.firework.Service.UserService; |
| | | import io.swagger.models.auth.In; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | 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.Service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | /** |
| | | * 加载用户特定数据的核心接口(Core interface which loads user-specific data.) |
| | | * |
| | | * @author zhangby |
| | | * @date 2019-05-14 09:49 |
| | | */ |
| | | @Service |
| | | public class UserServiceDetail implements UserDetailsService { |
| | | |
| | | @Autowired |
| | | UserService userService; |
| | | |
| | | /** |
| | | * 根据用户名查询用户 |
| | | */ |
| | | @Override |
| | | public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { |
| | | String authType = System.getProperty(Constants.AUTH_TYPE); |
| | | OauthUser oauthUser = new OauthUser(); |
| | | //查询登录用户 |
| | | UserInfo userInfo = userService.selectByLoginname(username); |
| | | Optional.of(userInfo).ifPresent(us ->{ |
| | | //查询角色 |
| | | List<OauthRole> roleByUser = userService.selectRoleByUser(us.getId().intValue()); |
| | | //数据类型转换 |
| | | List<OauthRole> oauthRoles = CommonUtil |
| | | .convers(roleByUser, role -> new OauthRole( |
| | | role.getId(), |
| | | role.getAuthority(),null,null) |
| | | ); |
| | | //数据结果集封装 |
| | | oauthUser.setId(us.getId().toString()); |
| | | oauthUser.setPassword(us.getPassword()); |
| | | oauthUser.setUsername(us.getUsername()); |
| | | oauthUser.setOauthRoles(oauthRoles); |
| | | }); |
| | | //判断登录入口 |
| | | return oauthUser; |
| | | } |
| | | } |