¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.èªå®ä¹è·åç»å½token |
| | | * * 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åªè½æ¿å°ä¸ä¸ªä¿¡æ¯ ç¨æ·è´¦å· åé¢çå°±æ¯æ ¹æ®è´¦å·è·åå
¶ä»ä¿¡æ¯ æ¥è¯¢æ°æ®ææ¯èµ°redis ç¨æ·æ ¹æ®èªèº«ä¸å¡å¯èªå®ä¹ |
| | | 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 è§£æsql/api伿 ¹æ®mapçé®å¼è§£æ |
| | | return map; |
| | | } |
| | | } |