Browse Source

chore: Support multi login

master
wangxiang 2 years ago
parent
commit
02dcd8d5cb
No known key found for this signature in database
GPG Key ID: 1BA7946AB6B232E4
  1. 24
      kicc-auth/src/main/java/com/cloud/kicc/auth/provider/UserProviderTemplateImpl.java
  2. 5
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/CustomAppAuthenticationProvider.java
  3. 11
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/KiccDaoAuthenticationProvider.java
  4. 19
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java
  5. 17
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java
  6. 7
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java
  7. 6
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/template/UserProviderTemplate.java
  8. 6
      kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteAppService.java
  9. 6
      kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteSsoUserService.java
  10. 5
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/UserProviderTemplateImpl.java
  11. 5
      kicc-platform/kicc-platform-biz/kicc-monitor-biz/src/main/java/com/cloud/kicc/monitor/service/impl/UserProviderTemplateImpl.java
  12. 5
      kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/service/impl/UserProviderTemplateImpl.java
  13. 12
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java
  14. 8
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/SsoUserController.java
  15. 5
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserProviderTemplateImpl.java
  16. 5
      kicc-platform/kicc-platform-biz/kicc-template-biz/src/main/java/com/cloud/kicc/template/provide/UserProviderTemplateImpl.java
  17. 5
      kicc-platform/kicc-platform-biz/kicc-workflow-biz/src/main/java/com/cloud/kicc/workflow/service/impl/UserProviderTemplateImpl.java

24
kicc-auth/src/main/java/com/cloud/kicc/auth/provider/UserProviderTemplateImpl.java

@ -12,6 +12,8 @@ import com.cloud.kicc.system.api.feign.RemoteUserService; @@ -12,6 +12,8 @@ import com.cloud.kicc.system.api.feign.RemoteUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
@RequiredArgsConstructor
public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> {
@ -21,19 +23,27 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -21,19 +23,27 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
private final RemoteAppService remoteAppService;
@Override
public SsoUser selectByUserName(String userName) {
R<SsoUser> result = remoteSsoUserService.selectByUserName(userName);
public SsoUser selectByUserNameAndParam(String userName, Map<String, String> parameters) {
SsoUser ssoUser = new SsoUser()
.setUserName(userName)
.setIdentityProvider(parameters.get("identityProvider"));
ssoUser.setTenantId(parameters.get("tenantId"));
R<SsoUser> result = remoteSsoUserService.selectByUserNameAndSsoUser(ssoUser);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "Controller invoke failed!"));
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}
@Override
public SsoUser selectByPhone(String phone) {
R<SsoUser> result = remoteAppService.selectByPhone(phone);
public SsoUser selectByPhoneAndParam(String phone, Map<String, String> parameters) {
SsoUser ssoUser = new SsoUser()
.setPhone(phone)
.setIdentityProvider(parameters.get("identityProvider"));
ssoUser.setTenantId(parameters.get("tenantId"));
R<SsoUser> result = remoteAppService.selectByPhoneAndSsoUser(ssoUser);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "Controller invoke failed!"));
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}
@ -43,7 +53,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -43,7 +53,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByUserId(String userid) {
R<KiccUser> result = remoteUserService.selectByUserId(userid);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "Controller invoke failed!"));
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}

5
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/CustomAppAuthenticationProvider.java

@ -18,6 +18,7 @@ import org.springframework.security.core.userdetails.UserDetails; @@ -18,6 +18,7 @@ import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsChecker;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Optional;
@ -66,7 +67,7 @@ public class CustomAppAuthenticationProvider extends AbstractUserDetailsAuthenti @@ -66,7 +67,7 @@ public class CustomAppAuthenticationProvider extends AbstractUserDetailsAuthenti
CustomAppAuthenticationToken requestToken = (CustomAppAuthenticationToken) authentication;
// 此处已获得 客户端认证 获取对应 userDetailsService
// 此处已获得 客户端认证 获取对应 KiccUserDetailsService
Authentication clientAuthentication = SecurityContextHolder.getContext().getAuthentication();
String clientId = clientAuthentication.getName();
Map<String, KiccUserDetailsService> userDetailsServiceMap = SpringUtil
@ -81,7 +82,7 @@ public class CustomAppAuthenticationProvider extends AbstractUserDetailsAuthenti @@ -81,7 +82,7 @@ public class CustomAppAuthenticationProvider extends AbstractUserDetailsAuthenti
// 手机号
String phone = authentication.getName();
UserDetails userDetails = optional.get().loadUserByUsername(phone);
UserDetails userDetails = optional.get().loadUserByParam(phone, (LinkedHashMap<String, String>)authentication.getCredentials());
// userDetails 校验
preAuthenticationChecks.check(userDetails);

11
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/KiccDaoAuthenticationProvider.java

@ -20,6 +20,7 @@ import org.springframework.security.crypto.password.PasswordEncoder; @@ -20,6 +20,7 @@ import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.util.Assert;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Optional;
@ -49,7 +50,7 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica @@ -49,7 +50,7 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica
*/
private volatile String userNotFoundEncodedPassword;
private UserDetailsService userDetailsService;
private KiccUserDetailsService userDetailsService;
private UserDetailsPasswordService userDetailsPasswordService;
@ -79,7 +80,7 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica @@ -79,7 +80,7 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica
throws AuthenticationException {
prepareTimingAttackProtection();
// 此处已获得 客户端认证 获取对应 userDetailsService
// 此处已获得 客户端认证 获取对应 KiccUserDetailsService
Authentication clientAuthentication = SecurityContextHolder.getContext().getAuthentication();
// SSO NPE 处理
@ -101,7 +102,7 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica @@ -101,7 +102,7 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica
}
try {
UserDetails loadedUser = optional.get().loadUserByUsername(username);
UserDetails loadedUser = optional.get().loadUserByParam(username, (LinkedHashMap<String, String>)authentication.getCredentials());
if (loadedUser == null) {
throw new InternalAuthenticationServiceException(
"UserDetailsService returned null, which is an interface contract violation");
@ -158,11 +159,11 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica @@ -158,11 +159,11 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica
return this.passwordEncoder;
}
public void setUserDetailsService(UserDetailsService userDetailsService) {
public void setUserDetailsService(KiccUserDetailsService userDetailsService) {
this.userDetailsService = userDetailsService;
}
protected UserDetailsService getUserDetailsService() {
protected KiccUserDetailsService getUserDetailsService() {
return this.userDetailsService;
}

19
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java

@ -12,6 +12,10 @@ import org.springframework.core.Ordered; @@ -12,6 +12,10 @@ import org.springframework.core.Ordered;
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.LinkedHashMap;
import java.util.Map;
/**
*<p>
@ -21,7 +25,7 @@ import org.springframework.security.core.userdetails.UserDetailsService; @@ -21,7 +25,7 @@ import org.springframework.security.core.userdetails.UserDetailsService;
* @Author: wangxiang4
* @Date: 2022/2/17
*/
public interface KiccUserDetailsService extends UserDetailsService, Ordered {
public interface KiccUserDetailsService extends Ordered {
/**
* 是否支持此客户端校验
@ -82,12 +86,15 @@ public interface KiccUserDetailsService extends UserDetailsService, Ordered { @@ -82,12 +86,15 @@ public interface KiccUserDetailsService extends UserDetailsService, Ordered {
);
}
/**
* 通过用户实体查询
* @param casUser user
* Find the user based on the request parameters. In the actual implementation, the search
* @param username the username identifying the user whose data is required
* @param parameters Identify the request parameters for which data is required the username
* @return a fully populated user record (never <code>null</code>)
* @throws UsernameNotFoundException if the user could not be found or the user has no
* GrantedAuthority
*/
default UserDetails loadUserByUser(CasUser casUser) {
return this.loadUserByUsername(casUser.getUsername());
}
UserDetails loadUserByParam(String username, Map<String, String> parameters) throws UsernameNotFoundException;
}

17
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java

@ -1,7 +1,6 @@ @@ -1,7 +1,6 @@
package com.cloud.kicc.common.security.service.impl;
import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.data.entity.CasUser;
import com.cloud.kicc.common.data.entity.SsoUser;
import com.cloud.kicc.common.security.service.KiccUserDetailsService;
import com.cloud.kicc.common.security.template.UserProviderTemplate;
@ -11,6 +10,8 @@ import lombok.extern.slf4j.Slf4j; @@ -11,6 +10,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.Map;
/**
*<p>
* 用户详细信息
@ -29,23 +30,15 @@ public class KiccAppUserDetailsServiceImpl implements KiccUserDetailsService { @@ -29,23 +30,15 @@ public class KiccAppUserDetailsServiceImpl implements KiccUserDetailsService {
/**
* 手机号登录
* @param phone 手机号
* @param parameters 请求参数
*/
@Override
@SneakyThrows
public UserDetails loadUserByUsername(String phone) {
SsoUser result = userProviderTemplate.selectByPhone(phone);
public UserDetails loadUserByParam(String phone, Map<String, String> parameters) {
SsoUser result = userProviderTemplate.selectByPhoneAndParam(phone, parameters);
return getUserDetails(result);
}
/**
* 通过用户实体查询
* @param casUser user
*/
@Override
public UserDetails loadUserByUser(CasUser casUser) {
return this.loadUserByUsername(casUser.getPhone());
}
/**
* 是否支持此客户端校验
* @param clientId 目标客户端

7
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java

@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired; @@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.Map;
/**
*<p>
* 用户详细信息
@ -29,11 +31,12 @@ public class KiccUserDetailsServiceImpl implements KiccUserDetailsService { @@ -29,11 +31,12 @@ public class KiccUserDetailsServiceImpl implements KiccUserDetailsService {
/**
* 用户名密码登录
* @param username 用户名
* @param parameters 请求参数
*/
@Override
@SneakyThrows
public UserDetails loadUserByUsername(String username) {
SsoUser result = userProviderTemplate.selectByUserName(username);
public UserDetails loadUserByParam(String username, Map<String, String> parameters) {
SsoUser result = userProviderTemplate.selectByUserNameAndParam(username, parameters);
return getUserDetails(result);
}

6
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/template/UserProviderTemplate.java

@ -3,6 +3,8 @@ package com.cloud.kicc.common.security.template; @@ -3,6 +3,8 @@ package com.cloud.kicc.common.security.template;
import com.cloud.kicc.common.data.entity.CasUser;
import com.cloud.kicc.common.data.entity.SsoUser;
import java.util.Map;
/**
*<p>
* The user must implement the template
@ -14,11 +16,11 @@ import com.cloud.kicc.common.data.entity.SsoUser; @@ -14,11 +16,11 @@ import com.cloud.kicc.common.data.entity.SsoUser;
*/
public interface UserProviderTemplate<T extends CasUser> {
default SsoUser selectByUserName(String userName) {
default SsoUser selectByUserNameAndParam(String userName, Map<String, String> parameters) {
return null;
}
default SsoUser selectByPhone(String phone) {
default SsoUser selectByPhoneAndParam(String phone, Map<String, String> parameters) {
return null;
};

6
kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteAppService.java

@ -22,10 +22,10 @@ public interface RemoteAppService { @@ -22,10 +22,10 @@ public interface RemoteAppService {
/**
* 通过手机号码查询用户
* @param phone 手机号码
* @param ssoUser sso用户
* @return R
*/
@GetMapping(value = AppConstants.APP_SYSTEM + "/app/selectByPhone/{phone}", headers = SecurityConstants.HEADER_FROM_IN)
R<SsoUser> selectByPhone(@PathVariable("phone") String phone);
@GetMapping(value = AppConstants.APP_SYSTEM + "/app/selectByPhoneAndSsoUser", headers = SecurityConstants.HEADER_FROM_IN)
R<SsoUser> selectByPhoneAndSsoUser(SsoUser ssoUser);
}

6
kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteSsoUserService.java

@ -22,10 +22,10 @@ public interface RemoteSsoUserService { @@ -22,10 +22,10 @@ public interface RemoteSsoUserService {
/**
* 通过用户名查询用户
* @param userName 用户名
* @param ssoUser sso用户
* @return R
*/
@GetMapping(value = AppConstants.APP_SYSTEM + "/ssoUser/selectByUserName/{userName}", headers = SecurityConstants.HEADER_FROM_IN)
R<SsoUser> selectByUserName(@PathVariable("userName") String userName);
@GetMapping(value = AppConstants.APP_SYSTEM + "/ssoUser/selectByUserNameAndSsoUser", headers = SecurityConstants.HEADER_FROM_IN)
R<SsoUser> selectByUserNameAndSsoUser(SsoUser ssoUser);
}

5
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/UserProviderTemplateImpl.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package com.cloud.kicc.commonbiz.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByCasUserId(String casUserId) {
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}
@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByUserId(String userid) {
R<KiccUser> result = remoteUserService.selectByUserId(userid);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}

5
kicc-platform/kicc-platform-biz/kicc-monitor-biz/src/main/java/com/cloud/kicc/monitor/service/impl/UserProviderTemplateImpl.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package com.cloud.kicc.monitor.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByCasUserId(String casUserId) {
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}
@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByUserId(String userid) {
R<KiccUser> result = remoteUserService.selectByUserId(userid);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}

5
kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/service/impl/UserProviderTemplateImpl.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package com.cloud.kicc.report.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByCasUserId(String casUserId) {
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}
@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByUserId(String userid) {
R<KiccUser> result = remoteUserService.selectByUserId(userid);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}

12
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java

@ -3,8 +3,8 @@ package com.cloud.kicc.system.controller; @@ -3,8 +3,8 @@ package com.cloud.kicc.system.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.common.security.annotation.Inner;
import com.cloud.kicc.common.data.entity.SsoUser;
import com.cloud.kicc.common.security.annotation.Inner;
import com.cloud.kicc.system.service.AppService;
import com.cloud.kicc.system.service.ISsoUserService;
import io.swagger.annotations.Api;
@ -42,13 +42,15 @@ public class AppController { @@ -42,13 +42,15 @@ public class AppController {
/**
* 获取指定用户全部信息
* @param phone 手机号
* @param ssoUser SSO用户
* @return 用户信息
*/
@Inner
@GetMapping("/selectByPhone/{phone:\\d+}")
public R<SsoUser> selectByPhone(@PathVariable String phone) {
List<SsoUser> user = iSsoUserService.list(Wrappers.<SsoUser>lambdaQuery().eq(SsoUser::getPhone, phone));
@GetMapping("/selectByPhoneAndSsoUser")
public R<SsoUser> selectByPhoneAndSsoUser(SsoUser ssoUser) {
List<SsoUser> user = iSsoUserService.list(Wrappers.<SsoUser>lambdaQuery()
.eq(SsoUser::getPhone, ssoUser.getPhone())
.eq(SsoUser::getIdentityProvider, ssoUser.getIdentityProvider()));
if (user.isEmpty()) {
return R.error("该手机号不存在,请先注册!");
}

8
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/SsoUserController.java

@ -89,9 +89,11 @@ public class SsoUserController { @@ -89,9 +89,11 @@ public class SsoUserController {
}
@Inner
@GetMapping("/selectByUserName/{userName}")
public R selectByUserName(@PathVariable String userName) {
SsoUser user = iSsoUserService.getOne(Wrappers.<SsoUser>lambdaQuery().eq(SsoUser::getUserName, userName));
@GetMapping("/selectByUserNameAndSsoUser")
public R selectByUserNameAndSsoUser(SsoUser ssoUser) {
SsoUser user = iSsoUserService.getOne(Wrappers.<SsoUser>lambdaQuery()
.eq(SsoUser::getUserName, ssoUser.getUserName())
.eq(SsoUser::getIdentityProvider, ssoUser.getIdentityProvider()));
if (user == null) {
return R.error("该用户不存在,请注册!");
}

5
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserProviderTemplateImpl.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package com.cloud.kicc.system.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByCasUserId(String casUserId) {
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}
@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByUserId(String userid) {
R<KiccUser> result = remoteUserService.selectByUserId(userid);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}

5
kicc-platform/kicc-platform-biz/kicc-template-biz/src/main/java/com/cloud/kicc/template/provide/UserProviderTemplateImpl.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package com.cloud.kicc.template.provide;
import cn.hutool.core.util.ObjectUtil;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByCasUserId(String casUserId) {
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}
@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByUserId(String userid) {
R<KiccUser> result = remoteUserService.selectByUserId(userid);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}

5
kicc-platform/kicc-platform-biz/kicc-workflow-biz/src/main/java/com/cloud/kicc/workflow/service/impl/UserProviderTemplateImpl.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package com.cloud.kicc.workflow.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -18,7 +19,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByCasUserId(String casUserId) {
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}
@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> @@ -27,7 +28,7 @@ public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser>
public KiccUser selectByUserId(String userid) {
R<KiccUser> result = remoteUserService.selectByUserId(userid);
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException("Controller invoke failed!");
throw new SecurityCheckedException(ObjectUtil.defaultIfBlank(result.getMsg(), "SecurityProviderTemplateImpl invoke failed!"));
}
return result.getData();
}

Loading…
Cancel
Save