48 changed files with 496 additions and 192 deletions
@ -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 @@ |
|||||||
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 @@ |
|||||||
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.TableField; |
||||||
import com.baomidou.mybatisplus.annotation.TableName; |
import com.baomidou.mybatisplus.annotation.TableName; |
@ -1,4 +1,4 @@ |
|||||||
package com.cloud.kicc.common.security.feign; |
package com.cloud.kicc.common.feign.config; |
||||||
|
|
||||||
import feign.RequestInterceptor; |
import feign.RequestInterceptor; |
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
@ -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 cn.hutool.core.collection.CollUtil; |
||||||
import com.cloud.kicc.common.core.constant.SecurityConstants; |
import com.cloud.kicc.common.core.constant.SecurityConstants; |
@ -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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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