Преглед изворни кода

加入山西医科大学单点登陆

wangliang пре 1 година
родитељ
комит
871ef558df

+ 7 - 7
cas/pom.xml

@@ -47,13 +47,13 @@
             <scope>system</scope>
             <systemPath>${project.basedir}/src/main/resources/lib/sso-client-java-7.0.8.jar</systemPath>
         </dependency>
-        <dependency>
-            <groupId>com.qmth.cas</groupId>
-            <artifactId>ly-uap</artifactId>
-            <version>3.2.0</version>
-            <scope>system</scope>
-            <systemPath>${project.basedir}/src/main/resources/lib/ly-uap.3.2.0.jar</systemPath>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.qmth.cas</groupId>-->
+<!--            <artifactId>ly-uap</artifactId>-->
+<!--            <version>3.2.0</version>-->
+<!--            <scope>system</scope>-->
+<!--            <systemPath>${project.basedir}/src/main/resources/lib/ly-uap.3.2.0.jar</systemPath>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>com.qmth.cas</groupId>
             <artifactId>cas-client-core</artifactId>

+ 46 - 50
cas/src/main/java/com/qmth/teachcloud/cas/filter/MyWebApplicationInitializer.java

@@ -1,8 +1,6 @@
 package com.qmth.teachcloud.cas.filter;
 
-import com.qmth.teachcloud.cas.util.sxufe.Constants;
 import com.qmth.teachcloud.exchange.common.contant.SystemConstant;
-import edu.yale.its.tp.cas.client.filter.CASFilter;
 import org.jasig.cas.client.authentication.AuthenticationFilter;
 import org.jasig.cas.client.session.SingleSignOutFilter;
 import org.jasig.cas.client.session.SingleSignOutHttpSessionListener;
@@ -15,64 +13,62 @@ import org.springframework.web.context.support.WebApplicationContextUtils;
 
 import javax.servlet.FilterRegistration;
 import javax.servlet.ServletContext;
-import java.util.HashMap;
-import java.util.Map;
 
 @Configuration
 public class MyWebApplicationInitializer implements ServletContextInitializer {
     private static final String SXUFE_URL = "/api/open/sxufe/authentication";
     private static final String GDPU_URL = "/api/open/gdpu/authentication";
-    private static final String SXMU_URL = "/api/open/sxmu/authentication";
-//    private static final String SXMU_URL = "/*";
+    //    private static final String SXMU_URL = "/api/open/sxmu/authentication";
+    private static final String SXMU_URL = "/*";
 
     @Override
     public void onStartup(ServletContext servletContext) {
         WebApplicationContext cxt = WebApplicationContextUtils.getWebApplicationContext(servletContext);
         servletContext.setRequestCharacterEncoding(SystemConstant.CHARSET_NAME);
-        /**
-         * 山西财经filter
-         */
-        servletContext.addListener(new SingleSignOutHttpSessionListener());
-        FilterRegistration.Dynamic caslogoutFilter = servletContext.addFilter("caslogoutFilter", SingleSignOutFilter.class);
-        caslogoutFilter.addMappingForUrlPatterns(null, false, SXUFE_URL);
-
-        FilterRegistration.Dynamic ssoFilter = servletContext.addFilter("SSO Filter", CASFilter.class);
-
-        Map<String, String> map = new HashMap<>();
-        map.put("edu.yale.its.tp.cas.client.filter.loginUrl", Constants.CAS_LOGIN_URL);
-        map.put("edu.yale.its.tp.cas.client.filter.validateUrl", Constants.CAS_VALIDATE_URL);
-        //接入的应用系统IP:Port,需要根据实际路径修改
-
-        String serverName = cxt.getEnvironment().getProperty("cas.filter.sxufeServerName");
-        map.put("edu.yale.its.tp.cas.client.filter.serverName", serverName);
-        map.put("edu.yale.its.tp.cas.client.filter.initContextClass", "net.psctech.sso.filter.LoginFilter");
-        ssoFilter.setInitParameters(map);
-
-        ssoFilter.addMappingForUrlPatterns(null, false, SXUFE_URL);
-
-        /**
-         * 广药filter
-         */
-        servletContext.addListener(new org.jasig.cas.client.session.SingleSignOutHttpSessionListener());
-        String gdpuServerName = cxt.getEnvironment().getProperty("cas.filter.gdpuServerName");
-        servletContext.setInitParameter("serverName", gdpuServerName);
-
-        FilterRegistration.Dynamic caslogoutGdpuFilter = servletContext.addFilter("Single Sign Out Filter", org.ly.uap.client.session.SingleSignOutFilter.class);
-        caslogoutGdpuFilter.addMappingForUrlPatterns(null, false, GDPU_URL);
-
-        FilterRegistration.Dynamic authenticationFilter = servletContext.addFilter("Authentication Filter", org.ly.uap.client.authentication.AuthenticationFilter.class);
-        authenticationFilter.setInitParameter("casServerLoginUrl", "https://cas.gdpu.edu.cn/lyuapServer/login");
-        authenticationFilter.addMappingForUrlPatterns(null, false, GDPU_URL);
-
-        FilterRegistration.Dynamic validationFilter = servletContext.addFilter("Validation Filter", org.ly.uap.client.validation.Cas20ProxyReceivingTicketValidationFilter.class);
-        validationFilter.setInitParameter("casServerUrlPrefix", "https://cas.gdpu.edu.cn/lyuapServer");
-        validationFilter.addMappingForUrlPatterns(null, false, GDPU_URL);
-
-        FilterRegistration.Dynamic wrapperFilter = servletContext.addFilter("HttpServletRequest Wrapper Filter", org.ly.uap.client.util.HttpServletRequestWrapperFilter.class);
-        wrapperFilter.addMappingForUrlPatterns(null, false, GDPU_URL);
-
-        FilterRegistration.Dynamic transNameFilter = servletContext.addFilter("TransNameFilter", org.ly.uap.client.util.TransNameFilter.class);
-        transNameFilter.addMappingForUrlPatterns(null, false, GDPU_URL);
+//        /**
+//         * 山西财经filter
+//         */
+//        servletContext.addListener(new SingleSignOutHttpSessionListener());
+//        FilterRegistration.Dynamic caslogoutFilter = servletContext.addFilter("caslogoutFilter", SingleSignOutFilter.class);
+//        caslogoutFilter.addMappingForUrlPatterns(null, false, SXUFE_URL);
+//
+//        FilterRegistration.Dynamic ssoFilter = servletContext.addFilter("SSO Filter", CASFilter.class);
+//
+//        Map<String, String> map = new HashMap<>();
+//        map.put("edu.yale.its.tp.cas.client.filter.loginUrl", Constants.CAS_LOGIN_URL);
+//        map.put("edu.yale.its.tp.cas.client.filter.validateUrl", Constants.CAS_VALIDATE_URL);
+//        //接入的应用系统IP:Port,需要根据实际路径修改
+//
+//        String serverName = cxt.getEnvironment().getProperty("cas.filter.sxufeServerName");
+//        map.put("edu.yale.its.tp.cas.client.filter.serverName", serverName);
+//        map.put("edu.yale.its.tp.cas.client.filter.initContextClass", "net.psctech.sso.filter.LoginFilter");
+//        ssoFilter.setInitParameters(map);
+//
+//        ssoFilter.addMappingForUrlPatterns(null, false, SXUFE_URL);
+//
+//        /**
+//         * 广药filter
+//         */
+//        servletContext.addListener(new org.jasig.cas.client.session.SingleSignOutHttpSessionListener());
+//        String gdpuServerName = cxt.getEnvironment().getProperty("cas.filter.gdpuServerName");
+//        servletContext.setInitParameter("serverName", gdpuServerName);
+//
+//        FilterRegistration.Dynamic caslogoutGdpuFilter = servletContext.addFilter("Single Sign Out Filter", org.ly.uap.client.session.SingleSignOutFilter.class);
+//        caslogoutGdpuFilter.addMappingForUrlPatterns(null, false, GDPU_URL);
+//
+//        FilterRegistration.Dynamic authenticationFilter = servletContext.addFilter("Authentication Filter", org.ly.uap.client.authentication.AuthenticationFilter.class);
+//        authenticationFilter.setInitParameter("casServerLoginUrl", "https://cas.gdpu.edu.cn/lyuapServer/login");
+//        authenticationFilter.addMappingForUrlPatterns(null, false, GDPU_URL);
+//
+//        FilterRegistration.Dynamic validationFilter = servletContext.addFilter("Validation Filter", org.ly.uap.client.validation.Cas20ProxyReceivingTicketValidationFilter.class);
+//        validationFilter.setInitParameter("casServerUrlPrefix", "https://cas.gdpu.edu.cn/lyuapServer");
+//        validationFilter.addMappingForUrlPatterns(null, false, GDPU_URL);
+//
+//        FilterRegistration.Dynamic wrapperFilter = servletContext.addFilter("HttpServletRequest Wrapper Filter", org.ly.uap.client.util.HttpServletRequestWrapperFilter.class);
+//        wrapperFilter.addMappingForUrlPatterns(null, false, GDPU_URL);
+//
+//        FilterRegistration.Dynamic transNameFilter = servletContext.addFilter("TransNameFilter", org.ly.uap.client.util.TransNameFilter.class);
+//        transNameFilter.addMappingForUrlPatterns(null, false, GDPU_URL);
 
         /**
          * 山西医科大学ilter

+ 16 - 18
cas/src/main/java/com/qmth/teachcloud/cas/util/GdpuCasUtil.java

@@ -9,10 +9,8 @@ import com.qmth.teachcloud.exchange.common.contant.SystemConstant;
 import com.qmth.teachcloud.exchange.common.entity.BasicSchool;
 import com.qmth.teachcloud.exchange.common.service.AuthInfoService;
 import com.qmth.teachcloud.exchange.common.service.CommonCacheService;
-import com.qmth.teachcloud.exchange.common.util.JacksonUtil;
 import com.qmth.teachcloud.exchange.common.util.ServletUtil;
 import net.psctech.sso.filter.LoginFilter;
-import org.ly.uap.client.authentication.AttributePrincipal;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
@@ -97,22 +95,22 @@ public class GdpuCasUtil {
                 returnUrl = casAddress + Constants.SSO_LOGOUT_URI;
             }
         }
-        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
-        log.info("principal.getName():{}", principal.getName());
-        log.info("principal.getAttributes():{}", JacksonUtil.parseJson(principal.getAttributes()));
-        if (principal != null) {
-            //获取用户信息中公开的Attributes部分
-            Map<String, Object> map = principal.getAttributes();
-            // 获取姓名,可以根据属性名称获取其他属性
-            employeeNo = (String) map.get("username");
-            String realname = (String) map.get("realname");
-            log.info("employeeNo:{}", employeeNo);
-            log.info("realname:{}", realname);
-            log.info("schoolCode:{}", schoolCode);
-            log.info("returnUrl:{}", returnUrl);
-            openParams = new OpenParams();
-            openParams.setName(realname);
-        }
+//        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+//        log.info("principal.getName():{}", principal.getName());
+//        log.info("principal.getAttributes():{}", JacksonUtil.parseJson(principal.getAttributes()));
+//        if (principal != null) {
+//            //获取用户信息中公开的Attributes部分
+//            Map<String, Object> map = principal.getAttributes();
+//            // 获取姓名,可以根据属性名称获取其他属性
+//            employeeNo = (String) map.get("username");
+//            String realname = (String) map.get("realname");
+//            log.info("employeeNo:{}", employeeNo);
+//            log.info("realname:{}", realname);
+//            log.info("schoolCode:{}", schoolCode);
+//            log.info("returnUrl:{}", returnUrl);
+//            openParams = new OpenParams();
+//            openParams.setName(realname);
+//        }
         return new RedirectParams(employeeNo, schoolCode, returnUrl, openParams);
     }
 

+ 1 - 5
cas/src/main/java/com/qmth/teachcloud/cas/util/SxmuCasUtil.java

@@ -12,7 +12,7 @@ import com.qmth.teachcloud.exchange.common.service.CommonCacheService;
 import com.qmth.teachcloud.exchange.common.util.JacksonUtil;
 import com.qmth.teachcloud.exchange.common.util.ServletUtil;
 import net.psctech.sso.filter.LoginFilter;
-import org.ly.uap.client.authentication.AttributePrincipal;
+import org.jasig.cas.client.authentication.AttributePrincipal;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
@@ -85,11 +85,7 @@ public class SxmuCasUtil {
             log.info("principal map:{}", JacksonUtil.parseJson(map));
             // 获取姓名,可以根据属性名称获取其他属性
             cn = (String) map.get("cn");
-            openParams = new OpenParams();
-            openParams.setName(cn);
-        } else {
             employeeNo = uid;
-            cn = uid;
             openParams = new OpenParams();
             openParams.setName(cn);
         }