exPermissions;
}
diff --git a/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/handler/BaseMetaObjectHandler.java b/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/handler/BaseMetaObjectHandler.java
index 2504153b..c1b9b5e8 100644
--- a/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/handler/BaseMetaObjectHandler.java
+++ b/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/handler/BaseMetaObjectHandler.java
@@ -1,7 +1,7 @@
package com.cloud.kicc.common.data.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.cloud.kicc.common.data.entity.KiccUser;
+import com.cloud.kicc.common.data.entity.CasUser;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
@@ -62,12 +62,12 @@ public class BaseMetaObjectHandler implements MetaObjectHandler {
/**
* 获取用户
*/
- protected KiccUser getUser() {
+ protected CasUser getUser() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (Optional.ofNullable(authentication).isPresent()) {
Object principal = authentication.getPrincipal();
- if (principal instanceof KiccUser) {
- return (KiccUser) principal;
+ if (principal instanceof CasUser) {
+ return (CasUser) principal;
}
}
return null;
diff --git a/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/handler/KiccTenantLineHandler.java b/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/handler/KiccTenantLineHandler.java
index 788791bf..5573d0ae 100644
--- a/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/handler/KiccTenantLineHandler.java
+++ b/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/handler/KiccTenantLineHandler.java
@@ -2,7 +2,7 @@ package com.cloud.kicc.common.data.handler;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
-import com.cloud.kicc.common.data.entity.KiccUser;
+import com.cloud.kicc.common.data.entity.CasUser;
import com.cloud.kicc.common.data.override.TenantLikeExpression;
import com.cloud.kicc.common.data.properties.TenantProperties;
import net.sf.jsqlparser.expression.Expression;
@@ -63,12 +63,12 @@ public class KiccTenantLineHandler implements TenantLineHandler {
/**
* 获取用户
*/
- protected KiccUser getUser() {
+ protected CasUser getUser() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (Optional.ofNullable(authentication).isPresent()) {
Object principal = authentication.getPrincipal();
- if (principal instanceof KiccUser) {
- return (KiccUser) principal;
+ if (principal instanceof CasUser) {
+ return (CasUser) principal;
}
}
return null;
diff --git a/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/plugins/KiccTenantLineInnerInterceptor.java b/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/plugins/KiccTenantLineInnerInterceptor.java
index 25725dfe..4136ca6e 100644
--- a/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/plugins/KiccTenantLineInnerInterceptor.java
+++ b/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/plugins/KiccTenantLineInnerInterceptor.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
+import com.cloud.kicc.common.core.exception.CheckedException;
import com.cloud.kicc.common.data.override.TenantLikeExpression;
import lombok.NoArgsConstructor;
import net.sf.jsqlparser.expression.Expression;
@@ -89,6 +90,9 @@ public class KiccTenantLineInnerInterceptor extends TenantLineInnerInterceptor {
likeExpression.setRightExpression(new StringValue("%" + tenantId + "%"));
statementBuilder.append(likeExpression + " OR ");
});
+ if (statementBuilder.length() == 0) {
+ throw new CheckedException("当前用户没有分配租户");
+ }
statementBuilder.delete(statementBuilder.length()-4, statementBuilder.length());
TenantLikeExpression tenantLikeExpression = new TenantLikeExpression(statementBuilder.toString());
Parenthesis parenthesis = new Parenthesis(tenantLikeExpression);
@@ -144,6 +148,9 @@ public class KiccTenantLineInnerInterceptor extends TenantLineInnerInterceptor {
likeExpression.setRightExpression(new StringValue("%" + tenantId + "%"));
statementBuilder.append(likeExpression + " OR ");
});
+ if (statementBuilder.length() == 0) {
+ throw new CheckedException("当前用户没有分配租户");
+ }
statementBuilder.delete(statementBuilder.length()-4, statementBuilder.length());
TenantLikeExpression tenantLikeExpression = new TenantLikeExpression(statementBuilder.toString());
Parenthesis parenthesis = new Parenthesis(tenantLikeExpression);
@@ -171,6 +178,9 @@ public class KiccTenantLineInnerInterceptor extends TenantLineInnerInterceptor {
likeExpression.setRightExpression(new StringValue("%" + tenantId + "%"));
statementBuilder.append(likeExpression + " OR ");
});
+ if (statementBuilder.length() == 0) {
+ throw new CheckedException("当前用户没有分配租户");
+ }
statementBuilder.delete(statementBuilder.length()-4, statementBuilder.length());
TenantLikeExpression tenantLikeExpression = new TenantLikeExpression(statementBuilder.toString());
Parenthesis parenthesis = new Parenthesis(tenantLikeExpression);
diff --git a/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/config/FeignErrorDecoder.java b/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/config/FeignErrorDecoder.java
index c4056e86..64acbd7a 100644
--- a/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/config/FeignErrorDecoder.java
+++ b/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/config/FeignErrorDecoder.java
@@ -1,5 +1,6 @@
package com.cloud.kicc.common.feign.config;
+import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.cloud.kicc.common.core.api.R;
import feign.FeignException;
@@ -38,8 +39,7 @@ public class FeignErrorDecoder extends ErrorDecoder.Default {
if (exception instanceof FeignException && ((FeignException) exception).responseBody().isPresent()) {
ByteBuffer responseBody = ((FeignException) exception).responseBody().get();
String bodyText = StandardCharsets.UTF_8.newDecoder().decode(responseBody.asReadOnlyBuffer()).toString();
- R result = JSON.parseObject(bodyText, R.class);
- return new Exception(result.getMsg());
+ return new Exception(JSONUtil.isJson(bodyText) ? JSONUtil.toBean(bodyText, R.class).getMsg() : bodyText);
}
} catch (Exception ex) {
log.error(ex.getMessage(), ex);
diff --git a/kicc-common/kicc-common-log/src/main/java/com/cloud/kicc/common/log/util/SysLogUtils.java b/kicc-common/kicc-common-log/src/main/java/com/cloud/kicc/common/log/util/SysLogUtils.java
index 45d5b9a6..5b53e36a 100644
--- a/kicc-common/kicc-common-log/src/main/java/com/cloud/kicc/common/log/util/SysLogUtils.java
+++ b/kicc-common/kicc-common-log/src/main/java/com/cloud/kicc/common/log/util/SysLogUtils.java
@@ -4,7 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.URLUtil;
import cn.hutool.extra.servlet.ServletUtil;
import cn.hutool.http.HttpUtil;
-import com.cloud.kicc.common.data.entity.KiccUser;
+import com.cloud.kicc.common.data.entity.CasUser;
import com.cloud.kicc.common.log.menus.LogTypeEnum;
import com.cloud.kicc.monitor.api.entity.OperLog;
import lombok.experimental.UtilityClass;
@@ -81,12 +81,12 @@ public class SysLogUtils {
/**
* 获取用户
*/
- protected KiccUser getUser() {
+ protected CasUser getUser() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (Optional.ofNullable(authentication).isPresent()) {
Object principal = authentication.getPrincipal();
- if (principal instanceof KiccUser) {
- return (KiccUser) principal;
+ if (principal instanceof CasUser) {
+ return (CasUser) principal;
}
}
return null;
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exp/KiccLocalResourceServerTokenServices.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exp/KiccLocalResourceServerTokenServices.java
index f20a9492..669c759a 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exp/KiccLocalResourceServerTokenServices.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exp/KiccLocalResourceServerTokenServices.java
@@ -1,5 +1,6 @@
package com.cloud.kicc.common.security.exp;
+import com.cloud.kicc.common.data.entity.CasUser;
import com.cloud.kicc.common.data.entity.KiccUser;
import lombok.RequiredArgsConstructor;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -34,14 +35,14 @@ public class KiccLocalResourceServerTokenServices implements ResourceServerToken
}
OAuth2Request oAuth2Request = oAuth2Authentication.getOAuth2Request();
- // 检测是否是属于认证的KiccUser实体用户
- if (!(oAuth2Authentication.getPrincipal() instanceof KiccUser)) {
+ // 检测是否是属于认证的CAS统一认证用户
+ if (!(oAuth2Authentication.getPrincipal() instanceof CasUser)) {
return oAuth2Authentication;
}
- KiccUser kiccUser = (KiccUser) oAuth2Authentication.getPrincipal();
+ CasUser casUser = (CasUser) oAuth2Authentication.getPrincipal();
// 每次请求前都预先加载用户名密码身份验证令牌
- Authentication userAuthentication = new UsernamePasswordAuthenticationToken(kiccUser, "N/A", kiccUser.getAuthorities());
+ Authentication userAuthentication = new UsernamePasswordAuthenticationToken(casUser, "N/A", casUser.getAuthorities());
OAuth2Authentication authentication = new OAuth2Authentication(oAuth2Request, userAuthentication);
authentication.setAuthenticated(true);
return authentication;
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/CustomAppAuthenticationProvider.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/CustomAppAuthenticationProvider.java
index dd00920f..9fd00a6a 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/CustomAppAuthenticationProvider.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/CustomAppAuthenticationProvider.java
@@ -83,7 +83,7 @@ public class CustomAppAuthenticationProvider extends AbstractUserDetailsAuthenti
String phone = authentication.getName();
UserDetails userDetails = optional.get().loadUserByUsername(phone);
- // userDeails 校验
+ // userDetails 校验
preAuthenticationChecks.check(userDetails);
CustomAppAuthenticationToken token = new CustomAppAuthenticationToken(userDetails);
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java
index e0781077..634e469a 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java
@@ -2,24 +2,29 @@ package com.cloud.kicc.common.security.service;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.CommonConstants;
import com.cloud.kicc.common.core.constant.SecurityConstants;
-import com.cloud.kicc.common.core.exception.CheckedException;
+import com.cloud.kicc.common.core.enums.CasSystemEnum;
+import com.cloud.kicc.common.data.entity.CasUser;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
import com.cloud.kicc.system.api.entity.User;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import lombok.SneakyThrows;
+import org.springframework.beans.BeanUtils;
import org.springframework.core.Ordered;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.*;
/**
*
@@ -54,6 +59,7 @@ public interface KiccUserDetailsService extends UserDetailsService, Ordered {
* @param result 用户信息
* @return UserDetails
*/
+ @SneakyThrows
default UserDetails getUserDetails(R result) {
// 验证请求是否成功
@@ -70,32 +76,37 @@ public interface KiccUserDetailsService extends UserDetailsService, Ordered {
dbAuthsSet.addAll(Arrays.asList(user.getPermissions()));
}
- Collection extends GrantedAuthority> authorities = AuthorityUtils.createAuthorityList(dbAuthsSet.toArray(new String[0]));
-
- // 构造security用户
- return new KiccUser(
- user.getId(),
- user.getDeptId(),
+ List authorities = AuthorityUtils.createAuthorityList(dbAuthsSet.toArray(new String[0]));
+ CasUser casUser = new CasUser(
user.getUserName(),
SecurityConstants.BCRYPT + user.getPassword(),
- user.getPhone(),
- user.getUserType(),
- user.getTenantId(),
true,
true,
true,
StrUtil.equals(user.getStatus(), CommonConstants.STATUS_NORMAL),
authorities
);
+ BeanUtils.copyProperties(user, casUser, CasUser.class);
+
+ // 设置扩展用户数据
+ casUser.getExPrincipals().put(CasSystemEnum.KICC, new ObjectMapper()
+ .setSerializationInclusion(JsonInclude.Include.NON_NULL)
+ .writeValueAsString(new KiccUser(
+ user.getDeptId(),
+ user.getUserType(),
+ dbAuthsSet
+ )));
+
+ // 构造security用户
+ return casUser;
}
/**
* 通过用户实体查询
- * @param kiccUser user
- * @return
+ * @param casUser user
*/
- default UserDetails loadUserByUser(KiccUser kiccUser) {
- return this.loadUserByUsername(kiccUser.getUsername());
+ default UserDetails loadUserByUser(CasUser casUser) {
+ return this.loadUserByUsername(casUser.getUsername());
}
}
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java
index dba0aba2..5b207282 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java
@@ -2,7 +2,7 @@ package com.cloud.kicc.common.security.service.impl;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.SecurityConstants;
-import com.cloud.kicc.common.data.entity.KiccUser;
+import com.cloud.kicc.common.data.entity.CasUser;
import com.cloud.kicc.common.security.service.KiccUserDetailsService;
import com.cloud.kicc.system.api.entity.User;
import com.cloud.kicc.system.api.feign.RemoteUserService;
@@ -28,24 +28,21 @@ public class KiccAppUserDetailsServiceImpl implements KiccUserDetailsService {
/**
* 手机号登录
* @param phone 手机号
- * @return
*/
@Override
@SneakyThrows
public UserDetails loadUserByUsername(String phone) {
R result = remoteUserService.selectByPhone(phone);
- UserDetails userDetails = getUserDetails(result);
- return userDetails;
+ return getUserDetails(result);
}
/**
- * check-token 使用
- * @param kiccUser user
- * @return
+ * 通过用户实体查询
+ * @param casUser user
*/
@Override
- public UserDetails loadUserByUser(KiccUser kiccUser) {
- return this.loadUserByUsername(kiccUser.getPhone());
+ public UserDetails loadUserByUser(CasUser casUser) {
+ return this.loadUserByUsername(casUser.getPhone());
}
/**
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java
index 2650bae9..3c928eaf 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java
@@ -30,14 +30,12 @@ public class KiccUserDetailsServiceImpl implements KiccUserDetailsService {
/**
* 用户名密码登录
* @param username 用户名
- * @return
*/
@Override
@SneakyThrows
public UserDetails loadUserByUsername(String username) {
R result = remoteUserService.selectByUserName(username);
- UserDetails userDetails = getUserDetails(result);
- return userDetails;
+ return getUserDetails(result);
}
@Override
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/util/SecurityUtils.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/util/SecurityUtils.java
index f506e15f..d635c5bb 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/util/SecurityUtils.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/util/SecurityUtils.java
@@ -1,15 +1,23 @@
package com.cloud.kicc.common.security.util;
+import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.CommonConstants;
import com.cloud.kicc.common.core.constant.SecurityConstants;
+import com.cloud.kicc.common.core.enums.CasSystemEnum;
import com.cloud.kicc.common.core.exception.CheckedException;
import com.cloud.kicc.common.core.util.SpringContextHolderUtil;
+import com.cloud.kicc.common.data.entity.CasUser;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.system.api.entity.User;
import com.cloud.kicc.system.api.feign.RemoteUserService;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.SneakyThrows;
import lombok.experimental.UtilityClass;
+import org.springframework.beans.BeanUtils;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
@@ -17,9 +25,7 @@ import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
+import java.util.*;
/**
*
@@ -42,23 +48,37 @@ public class SecurityUtils {
/**
* 获取用户
*/
- public KiccUser getUser(Authentication authentication) {
+ public CasUser getCasUser(Authentication authentication) {
Object principal = authentication.getPrincipal();
- if (principal instanceof KiccUser) {
- return (KiccUser) principal;
+ if (principal instanceof CasUser) {
+ return (CasUser) principal;
}
return null;
}
/**
- * 获取用户
+ * 获取CAS用户
*/
- public KiccUser getUser() {
+ public CasUser getCasUser() {
Authentication authentication = getAuthentication();
if (authentication == null) {
return null;
}
- return getUser(authentication);
+ return getCasUser(authentication);
+ }
+
+ /**
+ * 获取SSO扩展用户
+ */
+ @SneakyThrows
+ public KiccUser getUser() {
+ CasUser casUser = getCasUser();
+ String str = casUser.getExPrincipals().get(CasSystemEnum.KICC);
+ if (JSONUtil.isJson(str)) {
+ return new ObjectMapper()
+ .readValue(str, KiccUser.class);
+ }
+ return null;
}
/**
@@ -83,28 +103,44 @@ public class SecurityUtils {
* @param userId 用户id
* @return User 用户对象
*/
- public User openInterfaceTemporaryLoginSession(String userId){
+ @SneakyThrows
+ public User openInterfaceTemporaryLoginSession(String userId) {
RemoteUserService remoteUserService = SpringContextHolderUtil.getBean(RemoteUserService.class);
R result = remoteUserService.selectByUserId(userId);
if (result == null || result.getData() == null) {
throw new CheckedException("用户不存在");
}
User user = result.getData();
- KiccUser kiccUser = new KiccUser(
- user.getId(),
- user.getDeptId(),
+ Set dbAuthsSet = new HashSet<>();
+ if (ArrayUtil.isNotEmpty(user.getRoleIds())) {
+ // 获取角色
+ Arrays.stream(user.getRoleIds()).forEach(role -> dbAuthsSet.add(SecurityConstants.ROLE + role));
+ // 获取资源
+ dbAuthsSet.addAll(Arrays.asList(user.getPermissions()));
+ }
+
+ List authorities = AuthorityUtils.createAuthorityList(dbAuthsSet.toArray(new String[0]));
+
+ CasUser casUser = new CasUser(
user.getUserName(),
SecurityConstants.BCRYPT + user.getPassword(),
- user.getPhone(),
- user.getUserType(),
- user.getTenantId(),
true,
true,
true,
StrUtil.equals(user.getStatus(), CommonConstants.STATUS_NORMAL),
- AuthorityUtils.createAuthorityList(user.getPermissions())
+ authorities
);
- Authentication authentication = new UsernamePasswordAuthenticationToken(kiccUser, "N/A", kiccUser.getAuthorities());
+ BeanUtils.copyProperties(user, casUser);
+ // 设置扩展用户数据
+ casUser.getExPrincipals().put(CasSystemEnum.KICC, new ObjectMapper()
+ .setSerializationInclusion(JsonInclude.Include.NON_NULL)
+ .writeValueAsString(new KiccUser(
+ user.getDeptId(),
+ user.getUserType(),
+ dbAuthsSet
+ )));
+
+ Authentication authentication = new UsernamePasswordAuthenticationToken(casUser, "N/A", casUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
return user;
}
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java
index 15487226..237a5aaa 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java
@@ -98,7 +98,7 @@ public class MapLogisticController {
@PostMapping("/uploadGps")
@ApiOperation(value = "安卓定时上传GPS定位")
public R uploadGps(@RequestBody MapLogistic mapLogistic) {
- iMapLogisticSseService.sendMessage(SecurityUtils.getUser().getId(),item -> {
+ iMapLogisticSseService.sendMessage(SecurityUtils.getCasUser().getId(),item -> {
item.getSseEmitter().send(mapLogistic);
});
return R.ok(mapLogistic);
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskController.java
index cfe1853b..abe50b78 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskController.java
@@ -131,7 +131,7 @@ public class MapTaskController {
String content = JSONObject.toJSONString(mapLogisticPoint);
PushChatMessage pushChatMessage = new PushChatMessage();
pushChatMessage.setRemarks(content);
- pushChatMessage.setTitle(SecurityUtils.getUser().getUsername() + "与你对接预设点");
+ pushChatMessage.setTitle(SecurityUtils.getCasUser().getUsername() + "与你对接预设点");
// 保存交接消息
iPushChatMessageService.save(pushChatMessage);
// todo: 调用友盟推送接口,目前未测试需要安卓上线平台,后面处理
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushApplicationController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushApplicationController.java
index 0051646e..6d5db587 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushApplicationController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushApplicationController.java
@@ -46,7 +46,7 @@ public class PushApplicationController {
private LambdaQueryWrapper getQueryWrapper(PushApplication pushApplication) {
return new LambdaQueryWrapper()
- .eq(PushApplication::getCreateById, SecurityUtils.getUser().getId())
+ .eq(PushApplication::getCreateById, SecurityUtils.getCasUser().getId())
.eq(StrUtil.isNotBlank(pushApplication.getName()), PushApplication::getName, pushApplication.getName())
.eq(StrUtil.isNotBlank(pushApplication.getStatus()), PushApplication::getStatus, pushApplication.getStatus())
.orderByAsc(PushApplication::getCreateTime);
@@ -72,7 +72,7 @@ public class PushApplicationController {
if (StrUtil.equals(SecurityUtils.getUser().getUserType(), UserTypeEnum.ENTERPRISE_USER.getValue()) &&
iPushEnterpriseService.count(Wrappers.lambdaQuery()
.eq(PushEnterprise::getStatus, PushAuditStatusEnum.APPROVED.getValue())
- .eq(PushEnterprise::getUserId, SecurityUtils.getUser().getId())) == 0){
+ .eq(PushEnterprise::getUserId, SecurityUtils.getCasUser().getId())) == 0){
throw new CheckedException("该企业用户未进行企业认证,禁止操作!");
}
pushApplication.setMessageSecret(UUID.randomUUID().toString().replace("-",""));
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushBlacklistController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushBlacklistController.java
index 028112d8..73a7381a 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushBlacklistController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushBlacklistController.java
@@ -44,7 +44,7 @@ public class PushBlacklistController {
@ApiOperation("分页查询")
@GetMapping("/list")
public R list(Page page, User user) {
- user.setCreateById(SecurityUtils.getUser().getId());
+ user.setCreateById(SecurityUtils.getCasUser().getId());
IPage