Kaynağa Gözat

修改token问题

wangjiang988 5 yıl önce
ebeveyn
işleme
0eccd74d63

+ 9 - 0
src/main/java/platform/modules/oauth/LoginCallback.java

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import platform.common.Constant;
 import platform.common.base.controller.BaseController;
+import platform.common.util.CookieUtil;
 import platform.common.util.LoadPropertyUtil;
 import platform.common.util.ShiroUtils;
 import platform.modules.government.dao.UserDao;
@@ -24,6 +25,7 @@ import platform.modules.government.entity.User;
 import platform.modules.government.service.UserService;
 import platform.modules.sys.shiro.UsernamePasswordToken;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 /**
@@ -40,6 +42,9 @@ public class LoginCallback extends BaseController {
     @Autowired
     private UserService userService;
 
+    @Autowired
+    private HttpServletResponse response;
+
     @PostMapping(value = "")
     public String validateLogin(String SAMLResponse) {
         log.info("! SAMLResponse = {}", SAMLResponse);
@@ -56,6 +61,10 @@ public class LoginCallback extends BaseController {
         //token.setPassword(resetPassword.toCharArray());
         token.setSSO(true);
         SecurityUtils.getSubject().login(token);
+        // 注入token到cookie
+        String tokenString = userService.createToken();
+        CookieUtil.create(response, "INDUSTRIAL_CARRIER", tokenString, false, 7200,"/");
+        CookieUtil.create(response, "user_id", user.getId().toString(), false, 7200,"/");
         return "redirect:/admin/home";
 
 }

+ 40 - 2
src/main/resources/templates/admin/index.html

@@ -62,7 +62,8 @@
              }
              });*/
 
-            
+            // 取cookie中的字段
+
   	        
         	//初始化菜单tab
             $.Huitab(
@@ -77,10 +78,47 @@
             var user_type = [[${user_type}]];
             localStorage.setItem("user_name", user_name);
             localStorage.setItem("user_Type", user_type);
+            if (localStorage.getItem("INDUSTRIAL_CARRIER") == null
+                || localStorage.getItem("INDUSTRIAL_CARRIER") == '') {
+                var token = getCookie("INDUSTRIAL_CARRIER")
+                if(token !=null && token != "") {
+                    localStorage.setItem("INDUSTRIAL_CARRIER", token)
+                }
+                var user_id = getCookie("user_id")
+                if(user_id !=null && user_id != "") {
+                    localStorage.setItem("user_id", user_id)
+                }
+
+            }
         });
          window.onload = function(){
         	
-        } 
+        }
+
+        /**
+         * cookie中存值
+         * */
+        function setCookie (name, value) {
+            if (value) {
+                var days = 1; //定义一天
+                var exp = new Date();
+                exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);
+                // 写入Cookie, toGMTString将时间转换成字符串
+                document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString;
+            }
+        };
+
+        /**
+         * cookie中取值
+         * */
+        function getCookie (name) {
+            var arr,reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); //匹配字段
+            if (arr = document.cookie.match(reg)) {
+                return unescape(arr[2]);
+            } else {
+                return null;
+            }
+        };
     </script>
 </body>
 </html>