Pu Zhibing
8 天以前 638e7deedf01e2fa276d38f2215003e43996c54f
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java
@@ -8,9 +8,11 @@
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import com.stylefeng.guns.config.properties.GunsProperties;
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.OnconMDWebCasFilter;
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;
@@ -21,11 +23,12 @@
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.RequestContextListener;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
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;
/**
@@ -54,12 +57,11 @@
    /**
     * 增加对rest api鉴权的spring mvc拦截器
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new RestApiInteceptor()).addPathPatterns("/api/**")
                .excludePathPatterns("/api/placeOrder/notifyUrl")
                .excludePathPatterns("/api/placeOrder/notifyUrlOne");
    }
   //舍弃原有的权限校验功能
//    @Override
//    public void addInterceptors(InterceptorRegistry registry) {
//       registry.addInterceptor(new RestApiInteceptor()).addPathPatterns("/api/**");
//    }
    /**
     * druidServlet注册
@@ -91,23 +93,6 @@
     * druid数据库连接池监控
     */
    @Bean
    public DruidStatInterceptor druidStatInterceptor() {
        return new DruidStatInterceptor();
    }
    @Bean
    public JdkRegexpMethodPointcut druidStatPointcut() {
        JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut();
        String patterns = "com.stylefeng.guns.modular.*.service.*";
        //可以set多个
        druidStatPointcut.setPatterns(patterns);
        return druidStatPointcut;
    }
    /**
     * druid数据库连接池监控
     */
    @Bean
    public BeanTypeAutoProxyCreator beanTypeAutoProxyCreator() {
        BeanTypeAutoProxyCreator beanTypeAutoProxyCreator = new BeanTypeAutoProxyCreator();
        beanTypeAutoProxyCreator.setTargetBeanType(DruidDataSource.class);
@@ -123,6 +108,23 @@
    @Bean
    public Advisor druidStatAdvisor() {
        return new DefaultPointcutAdvisor(druidStatPointcut(), druidStatInterceptor());
    }
   @Bean
   public JdkRegexpMethodPointcut druidStatPointcut() {
      JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut();
      String patterns = "com.stylefeng.guns.modular.*.service.*";
      //可以set多个
      druidStatPointcut.setPatterns(patterns);
      return druidStatPointcut;
   }
   /**
    * druid数据库连接池监控
    */
   @Bean
   public DruidStatInterceptor druidStatInterceptor() {
      return new DruidStatInterceptor();
    }
    /**
@@ -173,4 +175,63 @@
        defaultKaptcha.setConfig(config);
        return defaultKaptcha;
    }
   /********************黔云通单点登录拦截器**********************/
//    @Override
//    public void addViewControllers(ViewControllerRegistry registry) {
//        registry.addViewController("/index").setViewName("index");
//    }
   @Bean
   public FilterRegistrationBean getOnconMDWebCasFilter() {
      OnconMDWebCasFilter onconMDWebCasFilter = new OnconMDWebCasFilter();
      FilterRegistrationBean registrationBean = new FilterRegistrationBean();
      registrationBean.setFilter(onconMDWebCasFilter);
      List<String> urlPatterns = new ArrayList<String>();
      urlPatterns.add("/*");//拦截路径,可以添加多个
      registrationBean.setUrlPatterns(urlPatterns);
      registrationBean.setOrder(2);
      registrationBean.addInitParameter("oncon.com.security.urls", "/api/**");
      registrationBean.addInitParameter("erp.si-tech.com.cn.noCheckUrl", "/index,/ajaxgetticket.jsp,/ssoAutologin.jsp,/login.jsp,/nologingetuserinfo.jsp,/toautologin.jsp,/autologin.jsp,/remotelogin.jsp,/toremotelogin.jsp,/js/**,/remoteloginajax.jsp");
      registrationBean.addInitParameter("erp.si-tech.com.cn.nologinstatus", "/*");
      registrationBean.addInitParameter("erp.si-tech.com.cn.loginstatus", "/login.jsp,/nologingetuserinfo.jsp");
      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", "172.26.200.34:9180");
      registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.casServiceUrlForStatic", "http://172.26.200.34:9180/sso-springboot-client/getUserInfo");
      registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.loginatUrlForStatic", "");
      registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.loginFailedUrlForStatic", "http://172.26.200.34:9180/error.html");
      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("/api/**");//拦截路径,可以添加多个
      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;
   }
}