Просмотр исходного кода

单点登录获取登录信息更新

hejq 8 лет назад
Родитель
Сommit
9792d290a5

+ 5 - 3
donate-console/src/main/java/com/uas/console/donate/SSOConfiguration.java

@@ -9,6 +9,7 @@ import com.uas.console.donate.web.filter.SSOInterceptor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 
@@ -21,6 +22,7 @@ import java.util.Properties;
  * @author hejq
  */
 @Configuration
+@EnableWebMvc
 public class SSOConfiguration extends WebMvcConfigurerAdapter {
 
     @Autowired
@@ -29,10 +31,10 @@ public class SSOConfiguration extends WebMvcConfigurerAdapter {
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         /**
-         * 拦截器配置
+         * SSO过滤
          */
-        registry.addInterceptor(ssoInterceptor).addPathPatterns("/**").addPathPatterns("/user/**");
-//                excludePathPatterns("/WEB-INF/**","/**/static/**", "/login/**", "/logout/**");
+        registry.addInterceptor(ssoInterceptor).addPathPatterns("/**").
+                excludePathPatterns("/WEB-INF/**","/**/static/**", "/login/**", "/logout/**");
     }
 
     @Bean

+ 1 - 1
donate-console/src/main/java/com/uas/console/donate/controller/UserController.java

@@ -1,8 +1,8 @@
 package com.uas.console.donate.controller;
 
+import com.uas.console.donate.core.support.SystemSession;
 import com.uas.console.donate.model.User;
 import com.uas.console.donate.service.UserService;
-import com.uas.console.donate.util.SystemSession;
 import com.uas.console.donate.web.CommonController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;

+ 1 - 1
donate-console/src/main/java/com/uas/console/donate/service/impl/ActivityServiceImpl.java

@@ -1,11 +1,11 @@
 package com.uas.console.donate.service.impl;
 
+import com.uas.console.donate.core.support.SystemSession;
 import com.uas.console.donate.dao.*;
 import com.uas.console.donate.model.*;
 import com.uas.console.donate.service.ActivityService;
 import com.uas.console.donate.service.AttachService;
 import com.uas.console.donate.util.CollectionUtils;
-import com.uas.console.donate.util.SystemSession;
 import com.uas.dfs.service.FileClient;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;

+ 1 - 1
donate-console/src/main/java/com/uas/console/donate/service/impl/AttachServiceImpl.java

@@ -1,5 +1,6 @@
 package com.uas.console.donate.service.impl;
 
+import com.uas.console.donate.core.support.SystemSession;
 import com.uas.console.donate.dao.AttachDao;
 import com.uas.console.donate.model.Attach;
 import com.uas.console.donate.model.FileUpload;
@@ -7,7 +8,6 @@ import com.uas.console.donate.service.AttachService;
 import com.uas.console.donate.util.FileUrl;
 import com.uas.console.donate.util.HttpUtils;
 import com.uas.console.donate.util.PathUtils;
-import com.uas.console.donate.util.SystemSession;
 import com.uas.dfs.service.FileClient;
 import com.uas.platform.core.util.FileUtils;
 import org.springframework.beans.factory.annotation.Autowired;

+ 0 - 28
donate-console/src/main/java/com/uas/console/donate/util/SystemSession.java

@@ -1,28 +0,0 @@
-package com.uas.console.donate.util;
-
-
-import com.uas.console.donate.model.User;
-
-/**
- * 每次请求服务器时,用户信息存放在本次线程中
- * 
- * @author yingp
- * 
- */
-public class SystemSession {
-
-	private static ThreadLocal<User> local = new ThreadLocal<User>();
-
-	public static void setUser(User session) {
-		local.set(session);
-	}
-
-	public static User getUser() {
-		return local.get();
-	}
-	
-	public static void clear() {
-		local.set(null);
-	}
-
-}

+ 6 - 4
donate-console/src/main/java/com/uas/console/donate/web/filter/SSOInterceptor.java

@@ -40,8 +40,7 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
 				User u = userDao.findOne(Long.valueOf(user.getDialectUID()));
                 SystemSession.setUser(u);
 			}
-		}
-		if (user != null) {
+		} else {
 			User u = userDao.findOne(Long.valueOf(user.getDialectUID()));
 			if (null == u) {
 				u = new User(user);
@@ -54,8 +53,11 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
 	@Override
 	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
 			throws Exception {
-		super.afterCompletion(request, response, handler, ex);
-		SystemSession.clear();
+		try {
+			super.afterCompletion(request, response, handler, ex);
+		} finally {
+			SystemSession.clear();
+		}
 	}
 
 	private UserView getUserByToken(SSOToken token) {