Jelajahi Sumber

Merge remote-tracking branch 'origin/dev/ez-security210625' into dev/ez-security210625

# Conflicts:
#	security-center/src/main/java/com/lantone/security/facade/UserManagementFacade.java
songxinlu 3 tahun lalu
induk
melakukan
2ab4d873a5

+ 2 - 2
common/src/main/java/com/lantone/common/domain/UserDto.java

@@ -17,9 +17,9 @@ import java.util.List;
 public class UserDto {
 
     private Long id;
-    private String username;
+    private String userName;
     private String password;
-    private Integer status;
+    private String status;
     private String clientId;
     private List<String> roles;
 

+ 1 - 1
common/src/main/java/com/lantone/common/util/SysUserUtils.java

@@ -55,7 +55,7 @@ public class SysUserUtils {
      */
     public static String getCurrentPrinciple() {
         UserDto userDto = getCurrentUser();
-        return userDto == null ? null : userDto.getUsername();
+        return userDto == null ? null : userDto.getUserName();
     }
 
     /**

+ 1 - 1
security-center/src/main/java/com/lantone/security/facade/UserManagementFacade.java

@@ -122,7 +122,7 @@ public class UserManagementFacade {
         List<String> roleIdNames = roleFacade.list(roleQueryWrapper).stream().map(i -> i.getId() + "_" + i.getName()).collect(Collectors.toList());
 
         BeanUtils.copyProperties(user, userDTO);
-        userDTO.setStatus(Integer.parseInt(user.getStatus()));
+        userDTO.setUserName(user.getUsername());
         userDTO.setRoles(roleIdNames);
         return userDTO;
     }

+ 6 - 1
user-auth/src/main/java/com/lantone/userauth/component/JwtTokenEnhancer.java

@@ -1,6 +1,7 @@
 package com.lantone.userauth.component;
 
 import com.lantone.userauth.domain.SecurityUser;
+import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.security.oauth2.provider.OAuth2Authentication;
@@ -9,6 +10,7 @@ import org.springframework.stereotype.Component;
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: JWT内容增强器
@@ -24,7 +26,10 @@ public class JwtTokenEnhancer implements TokenEnhancer {
         Map<String, Object> info = new HashMap<>();
         //把用户ID设置到JWT中
         info.put("id", securityUser.getId());
-        info.put("client_id", securityUser.getClientId());
+        info.put("status", securityUser.getStatus());
+        if (securityUser.getAuthorities() != null) {
+            info.put("roles", securityUser.getAuthorities().stream().map(i -> ((GrantedAuthority) i).getAuthority()).collect(Collectors.toList()));
+        }
         ((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(info);
         return accessToken;
     }

+ 10 - 11
user-auth/src/main/java/com/lantone/userauth/domain/SecurityUser.java

@@ -1,6 +1,9 @@
 package com.lantone.userauth.domain;
 
 import com.lantone.common.domain.UserDto;
+import com.lantone.common.enums.StatusEnum;
+import com.lantone.common.util.ListUtil;
+import com.lantone.common.util.StringUtil;
 import lombok.Data;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.authority.SimpleGrantedAuthority;
@@ -24,7 +27,7 @@ public class SecurityUser implements UserDetails {
     /**
      * 用户名
      */
-    private String username;
+    private String userName;
     /**
      * 用户密码
      */
@@ -32,7 +35,7 @@ public class SecurityUser implements UserDetails {
     /**
      * 用户状态
      */
-    private Boolean enabled;
+    private String status;
     /**
      * 登录客户端ID
      */
@@ -42,17 +45,13 @@ public class SecurityUser implements UserDetails {
      */
     private Collection<SimpleGrantedAuthority> authorities;
 
-    public SecurityUser() {
-
-    }
-
     public SecurityUser(UserDto userDto) {
         this.setId(userDto.getId());
-        this.setUsername(userDto.getUsername());
+        this.setUserName(userDto.getUserName());
         this.setPassword(userDto.getPassword());
-        this.setEnabled(userDto.getStatus() == 1);
+        this.setStatus(userDto.getStatus());
         this.setClientId(userDto.getClientId());
-        if (userDto.getRoles() != null) {
+        if (ListUtil.isNotEmpty(userDto.getRoles())) {
             authorities = new ArrayList<>();
             userDto.getRoles().forEach(item -> authorities.add(new SimpleGrantedAuthority(item)));
         }
@@ -70,7 +69,7 @@ public class SecurityUser implements UserDetails {
 
     @Override
     public String getUsername() {
-        return this.username;
+        return this.userName;
     }
 
     @Override
@@ -90,7 +89,7 @@ public class SecurityUser implements UserDetails {
 
     @Override
     public boolean isEnabled() {
-        return this.enabled;
+        return StringUtil.isNotBlank(this.status) && this.status.equals(StatusEnum.Enable.getKey());
     }
 
 }