From c0e9ac907ee658802f68eb4e770942e34e87cfd0 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 25 七月 2025 16:43:50 +0800
Subject: [PATCH] Merge branches 'master' and 'master' of http://120.76.84.145:10101/gitblit/r/java/QianYunTong

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java |  104 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 101 insertions(+), 3 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java
index e66c6d5..75067f5 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java
+++ b/ManagementQYTTravel/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,10 @@
 
     @Autowired
     private GunsProperties gunsProperties;
+    
+    @Value("${spring.profiles.active}")
+    private String activeProfile;
+    
 
     /**
      * 增加swagger的支持
@@ -50,7 +60,7 @@
             registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
         }
     }
-
+    
     /**
      * 增加对rest api鉴权的spring mvc拦截器
      */
@@ -58,7 +68,7 @@
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(new RestApiInteceptor()).addPathPatterns("/gunsApi/**");
     }
-
+    
     /**
      * druidServlet注册
      */
@@ -68,7 +78,7 @@
         registration.addUrlMappings("/druid/*");
         return registration;
     }
-
+    
     /**
      * druid监控 配置URI拦截策略
      */
@@ -172,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://traffic.qytzt.cn:443");
+        }
+        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");
+        }
+        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