From 5dacdee9b54c78372b68140e2b068d03a620eab9 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 02 七月 2025 19:00:52 +0800
Subject: [PATCH] 修改bug

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java |   28 +++++++++-------------------
 1 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
index 88c08b7..c07767e 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
@@ -5,7 +5,6 @@
 import com.alibaba.fastjson.JSONObject;
 import com.google.code.kaptcha.Constants;
 import com.stylefeng.guns.core.base.controller.BaseController;
-import com.stylefeng.guns.core.beetl.ShiroExtUtil;
 import com.stylefeng.guns.core.common.exception.InvalidKaptchaException;
 import com.stylefeng.guns.core.log.LogManager;
 import com.stylefeng.guns.core.log.factory.LogTaskFactory;
@@ -19,7 +18,6 @@
 import com.stylefeng.guns.modular.system.dao.UserMapper;
 import com.stylefeng.guns.modular.system.model.User;
 import com.stylefeng.guns.modular.system.service.IMenuService;
-import com.stylefeng.guns.modular.system.service.ITEnterpriseWithdrawalService;
 import com.stylefeng.guns.modular.system.service.IUserService;
 import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
 import com.stylefeng.guns.modular.system.util.PushURL;
@@ -36,7 +34,6 @@
 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.context.request.RequestContextHolder;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -66,8 +63,8 @@
 	@Autowired
 	private IUserService userService;
 	
-	@Autowired
-	private RedisTemplate redisTemplate;
+	@Resource
+	private RedisTemplate<String, String> redisTemplate;
 	
 	@Autowired
 	private IShiro shiro;
@@ -80,9 +77,6 @@
 	
 	private Map<String, Integer> loginFailures = new HashMap<>();
 	
-	@Resource
-	private ITEnterpriseWithdrawalService enterpriseWithdrawalService;
-	
 	
 	/**
 	 * 跳转到主页
@@ -90,12 +84,7 @@
 	@RequestMapping(value = "/", method = RequestMethod.GET)
 	public String index(Model model, HttpServletRequest request) throws UnsupportedEncodingException {
 		//session中解析用户数据
-		//设置共享session
-		HttpSession session = (HttpSession) redisTemplate.opsForValue().get(request.getSession().getId());
-		if (null != session) {
-			session = request.getSession();
-			redisTemplate.opsForValue().set(request.getSession().getId(), session, 2, TimeUnit.DAYS);
-		}
+		HttpSession session = request.getSession();
 		String onconParam = edu.yale.its.tp.cas.client.Util.getOnconParam(session);
 		onconParam = new String(Base64.decodeBase64(onconParam), "UTF-8");
 		LoginUser loginUser = JSON.parseObject(onconParam, LoginUser.class);
@@ -104,7 +93,8 @@
 		//获取菜单列表
 		User user = userMapper.getByAccount(loginUser.getImUser());
 		if (null == user) {
-			logOut();
+			logOut(request);
+			return null;
 		}
 		ShiroUser shiroUser = shiro.shiroUser(user);
 		List<Integer> roleList = shiroUser.getRoleList();
@@ -124,8 +114,7 @@
 		model.addAttribute("avatar", avatar);
 		model.addAttribute("userName", user.getName());
 		model.addAttribute("type", 0);
-		String sessionId = RequestContextHolder.currentRequestAttributes().getSessionId();
-		ShiroExtUtil.map.put(sessionId, shiroUser);
+		redisTemplate.opsForValue().set(loginUser.getOnconUUID(), JSON.toJSONString(shiroUser), 10, TimeUnit.HOURS);
 		return "/index.html";
 	}
 	
@@ -133,8 +122,9 @@
 	 * 退出登录
 	 */
 	@RequestMapping(value = "/logout", method = RequestMethod.GET)
-	public String logOut() {
-		HttpUtil.get("https://testsso1.teamshub.com/logout?logouturl=https%3A%2F%2Fsso.teamshub.com%2Flogout%3F%0Alogoutat%3Dhttp%253A%252F%252F127.0.0.1%253A8010%252F");
+	public String logOut(HttpServletRequest request) {
+		request.getSession().invalidate();
+		HttpUtil.get("https://passport.teamshub.com/logout?logouturl=https%3A%2F%2Fsso.teamshub.com%2Flogout%3F%0Alogoutat%3Dhttps%253A%252F%252Ftraffic.qytzt.cn%253A443%252F");
 		return REDIRECT + "/";
 	}
 	

--
Gitblit v1.7.1