Browse Source

更新用户信息校验方法

hejq 7 years ago
parent
commit
ae60a741c7
1 changed files with 13 additions and 7 deletions
  1. 13 7
      src/main/java/com/uas/platform/b2b/filter/SSOInterceptor.java

+ 13 - 7
src/main/java/com/uas/platform/b2b/filter/SSOInterceptor.java

@@ -153,7 +153,7 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
 			} catch (IOException e) {
 			} catch (IOException e) {
 				e.printStackTrace();
 				e.printStackTrace();
 			}
 			}
-            setResponseAuthorized(response, true);
+            setResponseAuthorized(response, user, true);
             return true;
             return true;
 		} else {
 		} else {
 			if (SecurityConstant.AUTHENTICATION_URL.equals(request.getRequestURI())) {
 			if (SecurityConstant.AUTHENTICATION_URL.equals(request.getRequestURI())) {
@@ -163,7 +163,7 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
 			if (matcher.matches(request)) {
 			if (matcher.matches(request)) {
 				return true;
 				return true;
 			}
 			}
-            setResponseAuthorized(response, false);
+            setResponseAuthorized(response, user, false);
 			return false;
 			return false;
 		}
 		}
 	}
 	}
@@ -188,10 +188,16 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
      * @param response response
      * @param response response
      * @param authorized 验证是否通过
      * @param authorized 验证是否通过
      */
      */
-    protected void setResponseAuthorized(HttpServletResponse response, boolean authorized) {
-        response.setStatus(authorized ? HttpStatus.OK.value() : HttpStatus.UNAUTHORIZED.value());
-        String authorizedValue = authorized ? HttpStatus.OK.name() : HttpStatus.UNAUTHORIZED.name();
-        response.setHeader("authorized", authorizedValue);
+    protected void setResponseAuthorized(HttpServletResponse response, User user, boolean authorized) {
+        if (null == user) {
+            // 再次校验是否还存在用户信息
+            user = SystemSession.getUser();
+        }
+        if (null != user && null != user.getEnterprise()) {
+            response.setStatus(authorized ? HttpStatus.OK.value() : HttpStatus.UNAUTHORIZED.value());
+            String authorizedValue = authorized ? HttpStatus.OK.name() : HttpStatus.UNAUTHORIZED.name();
+            response.setHeader("authorized", authorizedValue);
+        }
     }
     }
 
 
     /**
     /**
@@ -226,7 +232,7 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
 		}
 		}
 		if (user != null) {
 		if (user != null) {
 			SystemSession.setUser(user);
 			SystemSession.setUser(user);
-            setResponseAuthorized(response, true);
+            setResponseAuthorized(response, user, true);
 			try {
 			try {
 				accessDecision(request, user);
 				accessDecision(request, user);
 			} catch (IOException e) {
 			} catch (IOException e) {