Bläddra i källkod

feature: 用户信息设置令牌修改

mazq 1 år sedan
förälder
incheckning
432dd6e603

+ 16 - 13
src/main/java/com/dragoninfo/dcuc/authweb/interceptor/SecurityAccessTokenResolver.java

@@ -4,28 +4,25 @@ import cn.hutool.core.util.StrUtil;
 import com.dragoninfo.dcuc.auth.auth.facade.IBimBusinessFacade;
 import com.dragoninfo.dcuc.auth.auth.vo.bim.BimUserInfoItemRespVO;
 import com.dragoninfo.dcuc.auth.sub.dto.AuthUserContactDTO;
-import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
-import com.dragoninfo.dcuc.auth.sub.dto.DcucUserInfo;
 import com.dragoninfo.dcuc.auth.sub.facade.IAuthUserInfoFacade;
-import com.dragoninfo.dcuc.auth.sub.facade.IUserCenterApiFacade;
-import com.dragoninfo.dcuc.authweb.config.DcucAuthWebConfig;
-import com.dragoninfo.dcuc.common.Constants;
+import com.dragoninfo.dcuc.authweb.util.HeadTokenUtils;
+import com.dragoninfo.dcuc.common.enums.UserExtInfoEnum;
 import com.dragonsoft.duceap.base.api.security.ISecurityAccessTokenResolver;
 import com.dragonsoft.duceap.base.entity.security.BaseSecurityUser;
 import com.dragonsoft.duceap.base.entity.security.SecurityUser;
 import com.dragonsoft.duceap.commons.util.UrlMatcher;
 import com.dragonsoft.duceap.commons.util.json.JsonUtils;
 import com.dragonsoft.duceap.commons.util.string.StringUtils;
-import com.dragonsoft.duceap.security.dcuc.entity.DcucUser;
 import com.dragonsoft.duceap.security.jwt.SecurityUserCacheResolver;
 import com.dragonsoft.duceap.security.jwt.securityaccess.SecurityAccessTokenProperties;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.web.ServerProperties;
 import org.springframework.stereotype.Component;
-import org.springframework.web.client.RestTemplate;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @author huangzqa
@@ -74,10 +71,10 @@ public class SecurityAccessTokenResolver implements ISecurityAccessTokenResolver
             return null;
         }
 
-        String userToken = request.getHeader(secAccessProp.getUserTokenHeaderName());
-        String appToken = request.getHeader(Constants.APP_TOKEN);
+        String userToken = HeadTokenUtils.getUserToken(request);
+        String appToken = HeadTokenUtils.getAppToken(request);
 
-        log.info("userToken:{},appToken:{}", userToken, appToken);
+        log.info("用户令牌id:{} , 应用令牌id:{}", userToken, appToken);
 
         if (cacheResolver != null) {
             //从缓存中取
@@ -91,14 +88,15 @@ public class SecurityAccessTokenResolver implements ISecurityAccessTokenResolver
         }
 
         if (StrUtil.isBlank(userToken)) {
+            log.error("用户令牌为空");
             return null;
         }
 
         BimUserInfoItemRespVO userInfoItemRespVO = bimBusinessFacade.getUserInfoByUserToken(userToken);
         String sfzh = userInfoItemRespVO.getSfzh();
+        log.info("认证结果返回人员身份证号:{}, ", sfzh);
 
         AuthUserContactDTO userInfo = authUserInfoFacade.getUserWithContactByIdcard(sfzh);
-        log.info("idcard:{}, userInfo :{}", sfzh, JsonUtils.toJSONString(userInfo));
 
         SecurityUser securityUser = new SecurityUser();
         securityUser.setId(userInfo.getId());
@@ -119,14 +117,19 @@ public class SecurityAccessTokenResolver implements ISecurityAccessTokenResolver
         securityUser.setQq(userInfo.getQqAccount());
         securityUser.setWechat(userInfo.getWxAccount());
         securityUser.setSecurityOrgs(new String[]{userInfo.getOrgCode()});
-        log.info("idcard:{}, userInfo :{}", sfzh, JsonUtils.toJSONString(userInfo));
+        // 设置令牌扩展信息
+        Map<String, Object> map = new HashMap<>(UserExtInfoEnum.values().length);
+        map.put(UserExtInfoEnum.USER_TOKEN_ID.getValue(), userToken);
+        map.put(UserExtInfoEnum.APP_TOKEN_ID.getValue(), appToken);
+        securityUser.setExtendtions(map);
+        log.info("人员身份证号:{}, 人员信息:{}", sfzh, JsonUtils.toJSONString(userInfo));
 
         //放入缓存
         if (cacheResolver != null) {
             cacheResolver.put(userToken, securityUser);
         }
 
-        log.info("return idcard:{}, securityUser :{}", sfzh, JsonUtils.toJSONString(securityUser));
+        log.info("返回人员身份证号:{}, 登录人员信息:{}", sfzh, JsonUtils.toJSONString(securityUser));
 
         return securityUser;
     }