Browse Source

👈 重构安全框架底层代码支持当前用户修改

master
wangxiang 3 years ago
parent
commit
948b9d9b98
  1. 5
      kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/KiccUser.java
  2. 16
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java

5
kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/KiccUser.java

@ -1,7 +1,9 @@ @@ -1,7 +1,9 @@
package com.cloud.kicc.common.data.entity;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.User;
@ -15,6 +17,8 @@ import java.util.Collection; @@ -15,6 +17,8 @@ import java.util.Collection;
* @Author: entfrm开发团队-王翔
* @Date: 2022/2/17
*/
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class KiccUser extends User {
/**
@ -39,6 +43,7 @@ public class KiccUser extends User { @@ -39,6 +43,7 @@ public class KiccUser extends User {
* 多租户ID
*/
@Getter
@Setter
private String tenantId;
public KiccUser(String id, String deptId, String username, String password, String phone, String tenantId, boolean enabled,

16
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java

@ -121,21 +121,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us @@ -121,21 +121,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
OAuth2Authentication oAuth2Authentication = (OAuth2Authentication) currentAuthentication;
OAuth2AccessToken accessToken = tokenStore.getAccessToken(oAuth2Authentication);
OAuth2Request oAuth2Request = oAuth2Authentication.getOAuth2Request();
KiccUser currentKiccUser = SecurityUtils.getUser();
// 更新当前授权成功用户的信息
KiccUser kiccUser = new KiccUser(
currentKiccUser.getId(),
currentKiccUser.getDeptId(),
currentKiccUser.getUsername(),
currentKiccUser.getPassword(),
currentKiccUser.getPhone(),
StrUtil.join(",", tenantIds),
currentKiccUser.isEnabled(),
currentKiccUser.isAccountNonExpired(),
currentKiccUser.isCredentialsNonExpired(),
currentKiccUser.isAccountNonLocked(),
currentKiccUser.getAuthorities()
);
KiccUser kiccUser = SecurityUtils.getUser().setTenantId(StrUtil.join(",", tenantIds));
// 加载用户名密码身份验证令牌
Authentication userAuthentication = new UsernamePasswordAuthenticationToken(kiccUser, "N/A", kiccUser.getAuthorities());
OAuth2Authentication authentication = new OAuth2Authentication(oAuth2Request, userAuthentication);
@ -143,6 +130,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us @@ -143,6 +130,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
tokenStore.storeAccessToken(accessToken, authentication);
}
/**
* 新增用户角色信息
* @param user 用户对象

Loading…
Cancel
Save