48 changed files with 496 additions and 192 deletions
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
package com.cloud.kicc.auth.provider; |
||||
|
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.data.entity.KiccUser; |
||||
import com.cloud.kicc.common.data.entity.SsoUser; |
||||
import com.cloud.kicc.common.security.exception.SecurityCheckedException; |
||||
import com.cloud.kicc.common.security.template.UserProviderTemplate; |
||||
import com.cloud.kicc.system.api.feign.RemoteAppService; |
||||
import com.cloud.kicc.system.api.feign.RemoteSsoUserService; |
||||
import com.cloud.kicc.system.api.feign.RemoteUserService; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
@Component |
||||
@RequiredArgsConstructor |
||||
public class UserProviderImpl implements UserProviderTemplate<KiccUser> { |
||||
|
||||
private final RemoteSsoUserService remoteSsoUserService; |
||||
private final RemoteUserService remoteUserService; |
||||
private final RemoteAppService remoteAppService; |
||||
|
||||
@Override |
||||
public SsoUser selectByUserName(String userName) { |
||||
R<SsoUser> result = remoteSsoUserService.selectByUserName(userName); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
@Override |
||||
public SsoUser selectByPhone(String phone) { |
||||
R<SsoUser> result = remoteAppService.selectByPhone(phone); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public KiccUser selectByUserId(String userid) { |
||||
R<KiccUser> result = remoteUserService.selectByUserId(userid); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
} |
@ -1,43 +0,0 @@
@@ -1,43 +0,0 @@
|
||||
package com.cloud.kicc.common.core.enums; |
||||
|
||||
import lombok.Getter; |
||||
import lombok.RequiredArgsConstructor; |
||||
|
||||
/** |
||||
*<p> |
||||
* cas系统枚举 |
||||
*</p> |
||||
* |
||||
* @Author: wangxiang4 |
||||
* @Since: 2023/8/16 |
||||
*/ |
||||
@Getter |
||||
@RequiredArgsConstructor |
||||
public enum CasSystemEnum { |
||||
|
||||
/** |
||||
* sso认证系统 |
||||
*/ |
||||
KICC("KICC", "主kicc系统"), |
||||
|
||||
/** |
||||
* 子系统1 |
||||
*/ |
||||
KICS("KICS", "子系统1"), |
||||
|
||||
/** |
||||
* 子系统2 |
||||
*/ |
||||
KLAB("KLAB", "子系统2"); |
||||
|
||||
/** |
||||
* 名称 |
||||
*/ |
||||
private final String name; |
||||
|
||||
/** |
||||
* 描述 |
||||
*/ |
||||
private final String description; |
||||
|
||||
} |
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.system.api.entity; |
||||
package com.cloud.kicc.common.data.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.common.security.feign; |
||||
package com.cloud.kicc.common.feign.config; |
||||
|
||||
import feign.RequestInterceptor; |
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.common.security.feign; |
||||
package com.cloud.kicc.common.feign.config; |
||||
|
||||
import cn.hutool.core.collection.CollUtil; |
||||
import com.cloud.kicc.common.core.constant.SecurityConstants; |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
package com.cloud.kicc.common.security.config; |
||||
|
||||
import com.cloud.kicc.common.security.properties.CasProperties; |
||||
import com.cloud.kicc.common.security.xss.XssFilterAutoConfiguration; |
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties; |
||||
import org.springframework.context.annotation.Configuration; |
||||
import org.springframework.context.annotation.Import; |
||||
|
||||
/** |
||||
*<p> |
||||
* OAUTH2 配置 |
||||
*</p> |
||||
* |
||||
* @Author: wangxiang4 |
||||
* @Since: 2023/9/16 |
||||
*/ |
||||
@Configuration(proxyBeanMethods = false) |
||||
@Import({ XssFilterAutoConfiguration.class, SecurityMessageSourceConfiguration.class}) |
||||
@EnableConfigurationProperties(CasProperties.class) |
||||
public class Oauth2SecurityAutoConfiguration { |
||||
} |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
package com.cloud.kicc.common.security.properties; |
||||
|
||||
import lombok.Data; |
||||
import org.springframework.boot.context.properties.ConfigurationProperties; |
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties; |
||||
|
||||
/** |
||||
*<p> |
||||
* Central Authentication Service configuration |
||||
*</p> |
||||
* |
||||
* @Author: wangxiang4 |
||||
* @Since: 2023/9/16 |
||||
*/ |
||||
@Data |
||||
@ConfigurationProperties(prefix = "security.cas") |
||||
public class CasProperties { |
||||
|
||||
private String userClass = "com.cloud.kicc.common.data.entity.KiccUser"; |
||||
|
||||
private String identity = "KICC"; |
||||
|
||||
} |
@ -0,0 +1,33 @@
@@ -0,0 +1,33 @@
|
||||
package com.cloud.kicc.common.security.template; |
||||
|
||||
import com.cloud.kicc.common.data.entity.CasUser; |
||||
import com.cloud.kicc.common.data.entity.SsoUser; |
||||
|
||||
/** |
||||
*<p> |
||||
* The user must implement the template |
||||
* Contains SSO handler related to login |
||||
*</p> |
||||
* |
||||
* @Author: wangxiang4 |
||||
* @Since: 2023/9/16 |
||||
*/ |
||||
public interface UserProviderTemplate<T extends CasUser> { |
||||
|
||||
default SsoUser selectByUserName(String userName) { |
||||
return null; |
||||
} |
||||
|
||||
default SsoUser selectByPhone(String phone) { |
||||
return null; |
||||
}; |
||||
|
||||
default T selectByCasUserId(String casUserId) { |
||||
return null; |
||||
}; |
||||
|
||||
default T selectByUserId(String userid) { |
||||
return null; |
||||
}; |
||||
|
||||
} |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
package com.cloud.kicc.commonbiz.service.impl; |
||||
|
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.data.entity.KiccUser; |
||||
import com.cloud.kicc.common.security.exception.SecurityCheckedException; |
||||
import com.cloud.kicc.common.security.template.UserProviderTemplate; |
||||
import com.cloud.kicc.system.api.feign.RemoteUserService; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
@Component |
||||
@RequiredArgsConstructor |
||||
public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> { |
||||
|
||||
private final RemoteUserService remoteUserService; |
||||
|
||||
@Override |
||||
public KiccUser selectByCasUserId(String casUserId) { |
||||
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
@Override |
||||
public KiccUser selectByUserId(String userid) { |
||||
R<KiccUser> result = remoteUserService.selectByUserId(userid); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
package com.cloud.kicc.monitor.service.impl; |
||||
|
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.data.entity.KiccUser; |
||||
import com.cloud.kicc.common.security.exception.SecurityCheckedException; |
||||
import com.cloud.kicc.common.security.template.UserProviderTemplate; |
||||
import com.cloud.kicc.system.api.feign.RemoteUserService; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
@Component |
||||
@RequiredArgsConstructor |
||||
public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> { |
||||
|
||||
private final RemoteUserService remoteUserService; |
||||
|
||||
@Override |
||||
public KiccUser selectByCasUserId(String casUserId) { |
||||
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
@Override |
||||
public KiccUser selectByUserId(String userid) { |
||||
R<KiccUser> result = remoteUserService.selectByUserId(userid); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
package com.cloud.kicc.report.service.impl; |
||||
|
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.data.entity.KiccUser; |
||||
import com.cloud.kicc.common.security.exception.SecurityCheckedException; |
||||
import com.cloud.kicc.common.security.template.UserProviderTemplate; |
||||
import com.cloud.kicc.system.api.feign.RemoteUserService; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
@Component |
||||
@RequiredArgsConstructor |
||||
public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> { |
||||
|
||||
private final RemoteUserService remoteUserService; |
||||
|
||||
@Override |
||||
public KiccUser selectByCasUserId(String casUserId) { |
||||
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
@Override |
||||
public KiccUser selectByUserId(String userid) { |
||||
R<KiccUser> result = remoteUserService.selectByUserId(userid); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
package com.cloud.kicc.system.service.impl; |
||||
|
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.data.entity.KiccUser; |
||||
import com.cloud.kicc.common.security.exception.SecurityCheckedException; |
||||
import com.cloud.kicc.common.security.template.UserProviderTemplate; |
||||
import com.cloud.kicc.system.api.feign.RemoteUserService; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
@Component |
||||
@RequiredArgsConstructor |
||||
public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> { |
||||
|
||||
private final RemoteUserService remoteUserService; |
||||
|
||||
@Override |
||||
public KiccUser selectByCasUserId(String casUserId) { |
||||
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
@Override |
||||
public KiccUser selectByUserId(String userid) { |
||||
R<KiccUser> result = remoteUserService.selectByUserId(userid); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
package com.cloud.kicc.template.provide; |
||||
|
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.data.entity.KiccUser; |
||||
import com.cloud.kicc.common.security.exception.SecurityCheckedException; |
||||
import com.cloud.kicc.common.security.template.UserProviderTemplate; |
||||
import com.cloud.kicc.system.api.feign.RemoteUserService; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
@Component |
||||
@RequiredArgsConstructor |
||||
public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> { |
||||
|
||||
private final RemoteUserService remoteUserService; |
||||
|
||||
@Override |
||||
public KiccUser selectByCasUserId(String casUserId) { |
||||
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
@Override |
||||
public KiccUser selectByUserId(String userid) { |
||||
R<KiccUser> result = remoteUserService.selectByUserId(userid); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
package com.cloud.kicc.workflow.service.impl; |
||||
|
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.data.entity.KiccUser; |
||||
import com.cloud.kicc.common.security.exception.SecurityCheckedException; |
||||
import com.cloud.kicc.common.security.template.UserProviderTemplate; |
||||
import com.cloud.kicc.system.api.feign.RemoteUserService; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
@Component |
||||
@RequiredArgsConstructor |
||||
public class UserProviderTemplateImpl implements UserProviderTemplate<KiccUser> { |
||||
|
||||
private final RemoteUserService remoteUserService; |
||||
|
||||
@Override |
||||
public KiccUser selectByCasUserId(String casUserId) { |
||||
R<KiccUser> result = remoteUserService.selectByCasUserId(casUserId); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
@Override |
||||
public KiccUser selectByUserId(String userid) { |
||||
R<KiccUser> result = remoteUserService.selectByUserId(userid); |
||||
if (result.getCode() != R.SUCCESS) { |
||||
throw new SecurityCheckedException("Controller invoke failed!"); |
||||
} |
||||
return result.getData(); |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue