From c2fccb01b972176dc3da5a497b5e904025e9e98d Mon Sep 17 00:00:00 2001 From: bsw215583320 <baoshiwei121@163.com> Date: 星期二, 16 四月 2024 15:06:51 +0800 Subject: [PATCH] Merge branch 'master' of http://210.22.126.130:1111/r/dry/herb --- jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java | 81 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 81 insertions(+), 0 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java new file mode 100644 index 0000000..88c4922 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java @@ -0,0 +1,81 @@ +package org.jeecg.config.jimureport; + +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.system.util.JwtUtil; +import org.jeecg.common.system.vo.SysUserCacheInfo; +import org.jeecg.common.util.RedisUtil; +import org.jeecg.common.util.TokenUtils; +import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; +import org.jeecg.modules.system.service.impl.SysBaseApiImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +/** + * 鑷畾涔夌Н鏈ㄦ姤琛ㄩ壌鏉�(濡傛灉涓嶈繘琛岃嚜瀹氫箟锛屽垯鎵�鏈夎姹備笉鍋氭潈闄愭帶鍒�) + * * 1.鑷畾涔夎幏鍙栫櫥褰晅oken + * * 2.鑷畾涔夎幏鍙栫櫥褰曠敤鎴� + * @author: jeecg-boot + */ + + +@Slf4j +@Component +public class JimuReportTokenService implements JmReportTokenServiceI { + @Autowired + private SysBaseApiImpl sysBaseApi; + @Autowired + @Lazy + private RedisUtil redisUtil; + + @Override + public String getToken(HttpServletRequest request) { + return TokenUtils.getTokenByRequest(request); + } + + @Override + public String getUsername(String token) { + return JwtUtil.getUsername(token); + } + + @Override + public Boolean verifyToken(String token) { + return TokenUtils.verifyToken(token, sysBaseApi, redisUtil); + } + + @Override + public String[] getRoles(String token) { + String username = JwtUtil.getUsername(token); + Set roles = sysBaseApi.getUserRoleSet(username); + if(CollectionUtils.isEmpty(roles)){ + return null; + } + return (String[]) roles.toArray(new String[roles.size()]); + } + + @Override + public Map<String, Object> getUserInfo(String token) { + Map<String, Object> map = new HashMap(5); + String username = JwtUtil.getUsername(token); + //姝ゅ閫氳繃token鍙兘鎷垮埌涓�涓俊鎭� 鐢ㄦ埛璐﹀彿 鍚庨潰鐨勫氨鏄牴鎹处鍙疯幏鍙栧叾浠栦俊鎭� 鏌ヨ鏁版嵁鎴栨槸璧皉edis 鐢ㄦ埛鏍规嵁鑷韩涓氬姟鍙嚜瀹氫箟 + SysUserCacheInfo userInfo = null; + try { + userInfo = sysBaseApi.getCacheUser(username); + } catch (Exception e) { + log.error("鑾峰彇鐢ㄦ埛淇℃伅寮傚父:"+ e.getMessage()); + return map; + } + //璁剧疆璐﹀彿鍚� + map.put(SYS_USER_CODE, userInfo.getSysUserCode()); + //璁剧疆閮ㄩ棬缂栫爜 + map.put(SYS_ORG_CODE, userInfo.getSysOrgCode()); + // 灏嗘墍鏈変俊鎭瓨鏀捐嚦map 瑙f瀽sql/api浼氭牴鎹甿ap鐨勯敭鍊艰В鏋� + return map; + } +} -- Gitblit v1.9.3