hulh 8 лет назад
Родитель
Сommit
daf12cf2c7

+ 13 - 11
src/main/java/com/uas/platform/b2c/common/account/controller/SecurityController.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2c.common.account.controller;
 
+import com.alibaba.fastjson.JSON;
+import com.uas.account.entity.UserView;
 import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.common.account.model.SigninLog;
 import com.uas.platform.b2c.common.account.model.User;
@@ -22,10 +24,7 @@ import org.springframework.mobile.device.LiteDeviceResolver;
 import org.springframework.mobile.device.site.SitePreference;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -60,21 +59,24 @@ public class SecurityController {
 	@RequestMapping(value = "/logout", method = RequestMethod.GET, headers = "Accept=application/json")
 	@ResponseStatus(value = HttpStatus.OK)
 	@ResponseBody
-	public ModelMap logout(HttpServletRequest request, HttpServletResponse response, HttpSession session, String returnUrl)
+	public String logout(HttpServletRequest request, HttpServletResponse response, HttpSession session, String returnUrl)
 			throws IOException {
+		String callback =request.getParameter("jsoncallback");
+		response.setContentType("text/html;charset=UTF-8");
 		session.invalidate();
 		SSOHelper.clearLogin(request, response);
 		SystemSession.clear();
 		if (StringUtils.isEmpty(returnUrl)) {
 			returnUrl = request.getHeader("Referer");
 		}
+		return "successCallback({success:'1'})";
 		/*boolean cross = SSOHelper.isCrossDomain(request);
 		if (cross) {
 			request.getSession().setAttribute(SSOConfig.SSOReferer, returnUrl);
 			// 跨域情况,需要再次询问账户中心
 			returnUrl = request.getContextPath() + "/logout/proxy";
 		}*/
-		return new ModelMap("content", returnUrl);
+		//return new ModelMap("content", returnUrl);
 	}
 
 	/**
@@ -199,14 +201,14 @@ public class SecurityController {
 	 */
 	@RequestMapping(value = "/login/other")
 	@ResponseBody
-	public String afterCrossLogin(HttpServletRequest request, HttpServletResponse response, String uid, long time , String data) {
+	public String afterCrossLogin(HttpServletRequest request, HttpServletResponse response, UserView userView) {
 		String callback =request.getParameter("jsoncallback");
 		response.setContentType("text/html;charset=UTF-8");
-		if (uid != null && data != null) {
+		if (userView != null && userView.getUid() != null) {
  				SSOToken tk = new SSOToken();
-				tk.setUid(uid);
-				tk.setTime(time);
-				tk.setData(data);
+				tk.setUid(userView.getUid());
+				tk.setTime(System.currentTimeMillis());
+				tk.setData(JSON.toJSONString(userView));
 				SSOHelper.setSSOCookie(request, response, tk, true);
 				User user = getUserByToken(tk);
 				if (user != null) {