From e459023e11f5b7be2d86662722b70605aee7992b Mon Sep 17 00:00:00 2001 From: nidapeng <jp@doumee.com> Date: 星期二, 30 四月 2024 11:17:46 +0800 Subject: [PATCH] 最新版本 --- server/system_service/src/main/java/com/doumee/api/BaseController.java | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/api/BaseController.java b/server/system_service/src/main/java/com/doumee/api/BaseController.java index a390450..61f1a43 100644 --- a/server/system_service/src/main/java/com/doumee/api/BaseController.java +++ b/server/system_service/src/main/java/com/doumee/api/BaseController.java @@ -1,8 +1,15 @@ package com.doumee.api; +import com.alibaba.fastjson.JSONObject; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; +import com.doumee.core.utils.Constants; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -16,6 +23,8 @@ @Slf4j public class BaseController { + @Autowired + private RedisTemplate<String,Object> stringRedisTemplate; /** * 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛 * @author Eva.Caesar Liu @@ -24,6 +33,25 @@ protected LoginUserInfo getLoginUser () { return (LoginUserInfo)SecurityUtils.getSubject().getPrincipal(); } + /** + * 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛 + * @author Eva.Caesar Liu + * @date 2023/03/21 14:49 + */ + protected LoginUserInfo getLoginUser (String token) { + if (token == null || token.isEmpty()) { + throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�"); + } + String userinfo =(String) stringRedisTemplate.opsForValue().get(Constants.REDIS_TOKEN_KEY + token); + if (StringUtils.isBlank(userinfo)) { + throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�"); + } + LoginUserInfo user = JSONObject.toJavaObject(JSONObject.parseObject(userinfo),LoginUserInfo.class ); + if(user ==null ){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛鐧婚檰宸插け鏁堬紝璇烽噸鏂扮櫥闄嗭紒"); + } + return user; + } /** -- Gitblit v1.9.3