From 11d649e0de6490c53efe6df0ee10212ee6088d14 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 14 十月 2025 11:59:30 +0800 Subject: [PATCH] 集成中台及正联功能 --- management/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java | 97 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 97 insertions(+), 0 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java b/management/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java index a94beb7..3bebaaf 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java @@ -11,10 +11,14 @@ import com.stylefeng.guns.core.intercept.RestApiInteceptor; import com.stylefeng.guns.core.listener.ConfigListener; import com.stylefeng.guns.core.xss.XssFilter; +import edu.yale.its.tp.cas.client.filter.OnconMDCasFilter; +import org.jasig.cas.client.session.SingleSignOutFilter; +import org.jasig.cas.client.session.SingleSignOutHttpSessionListener; import org.springframework.aop.Advisor; import org.springframework.aop.support.DefaultPointcutAdvisor; import org.springframework.aop.support.JdkRegexpMethodPointcut; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletListenerRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; @@ -25,7 +29,9 @@ import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import java.util.Properties; /** @@ -39,6 +45,9 @@ @Autowired private GunsProperties gunsProperties; + + @Value("${spring.profiles.active}") + private String activeProfile; /** * 增加swagger的支持 @@ -173,4 +182,92 @@ defaultKaptcha.setConfig(config); return defaultKaptcha; } + + + /********************黔云通单点登录拦截器**********************/ + + @Bean + public FilterRegistrationBean getOnconMDCasFilter() { + OnconMDCasFilter onconMDCasFilter = new OnconMDCasFilter(); + FilterRegistrationBean registrationBean = new FilterRegistrationBean(); + if("dev".equals(activeProfile)){ + registrationBean.setFilter(onconMDCasFilter); + List<String> urlPatterns = new ArrayList<String>(); + urlPatterns.add("/*"); + registrationBean.setUrlPatterns(urlPatterns); + registrationBean.setOrder(2); + + registrationBean.addInitParameter("oncon.com.security.urls", "/**"); + registrationBean.addInitParameter("erp.si-tech.com.cn.noCheckUrl", "/index.html,/static/**,/upload/**"); + registrationBean.addInitParameter("erp.si-tech.com.cn.nologinstatus", "/*"); + registrationBean.addInitParameter("erp.si-tech.com.cn.loginstatus", "/*"); + registrationBean.addInitParameter("com.oncon.sso.urlparams.nologin", "code,code2"); + + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.loginUrl", "https://testsso1.teamshub.com/login"); + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.validateUrl", "https://testsso1.teamshub.com/serviceValidate"); + registrationBean.addInitParameter("com.oncon.md.loginUrl", "https://testsso1.teamshub.com/sso-session/login"); + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.serverName", "http://127.0.0.1:8010"); + } + if("test".equals(activeProfile)){ + registrationBean.setFilter(onconMDCasFilter); + List<String> urlPatterns = new ArrayList<String>(); + urlPatterns.add("/*"); + registrationBean.setUrlPatterns(urlPatterns); + registrationBean.setOrder(2); + + registrationBean.addInitParameter("oncon.com.security.urls", "/**"); + registrationBean.addInitParameter("erp.si-tech.com.cn.noCheckUrl", "/index.html,/static/**,/upload/**"); + registrationBean.addInitParameter("erp.si-tech.com.cn.nologinstatus", "/*"); + registrationBean.addInitParameter("erp.si-tech.com.cn.loginstatus", "/*"); + registrationBean.addInitParameter("com.oncon.sso.urlparams.nologin", "code,code2"); + + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.loginUrl", "https://testsso1.teamshub.com/login"); + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.validateUrl", "https://testsso1.teamshub.com/serviceValidate"); + registrationBean.addInitParameter("com.oncon.md.loginUrl", "https://testsso1.teamshub.com/sso-session/login"); + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.serverName", "https://test-qncx.sitechcloud.com"); + } + if("prod".equals(activeProfile)){ + registrationBean.setFilter(onconMDCasFilter); + List<String> urlPatterns = new ArrayList<String>(); + urlPatterns.add("/*"); + registrationBean.setUrlPatterns(urlPatterns); + registrationBean.setOrder(2); + + registrationBean.addInitParameter("oncon.com.security.urls", "/**"); + registrationBean.addInitParameter("erp.si-tech.com.cn.noCheckUrl", "/index.html,/static/**,/upload/**"); + registrationBean.addInitParameter("erp.si-tech.com.cn.nologinstatus", "/*"); + registrationBean.addInitParameter("erp.si-tech.com.cn.loginstatus", "/*"); + registrationBean.addInitParameter("com.oncon.sso.urlparams.nologin", "code,code2"); + + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.loginUrl", "https://sso.teamshub.com/login"); + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.validateUrl", "https://sso.teamshub.com/serviceValidate"); + registrationBean.addInitParameter("com.oncon.md.loginUrl", "https://passport.teamshub.com/login"); + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.serverName", "https://traffic.qytzt.cn:443/djadmin/login"); + } + return registrationBean; + } + + @Bean + public FilterRegistrationBean getSingleSignOutFilter() { + SingleSignOutFilter singleSignOutFilter = new SingleSignOutFilter(); + FilterRegistrationBean registrationBean = new FilterRegistrationBean(); + registrationBean.setFilter(singleSignOutFilter); + List<String> urlPatterns = new ArrayList<String>(); + urlPatterns.add("/*");//拦截路径,可以添加多个 + registrationBean.setUrlPatterns(urlPatterns); + registrationBean.setOrder(1); + + registrationBean.addInitParameter("wmall.flag", "false"); + + return registrationBean; + } + + + @Bean + public ServletListenerRegistrationBean<SingleSignOutHttpSessionListener> getSingleSignOutHttpSessionListener() { + ServletListenerRegistrationBean<SingleSignOutHttpSessionListener> servletListenerRegistrationBean + = new ServletListenerRegistrationBean<>(); + servletListenerRegistrationBean.setListener(new SingleSignOutHttpSessionListener()); + return servletListenerRegistrationBean; + } } -- Gitblit v1.7.1