|
|
@@ -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) {
|