From db73ec37a46a209d8580951e663468dba2dec995 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Sun, 28 Jun 2020 18:10:23 +0800 Subject: [PATCH] 添加 微信的网关 修改用户自己修改密码的bug --- kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java index c37a0d4..0cad4b3 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java @@ -1,11 +1,14 @@ package com.kidgrow.common.resolver; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; import com.kidgrow.common.annotation.LoginUser; import com.kidgrow.common.constant.SecurityConstants; import com.kidgrow.common.feign.UserService; +import com.kidgrow.common.model.SysOrganization; import com.kidgrow.common.model.SysRole; import com.kidgrow.common.model.SysUser; +import com.kidgrow.common.utils.StringUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.core.MethodParameter; import org.springframework.web.bind.support.WebDataBinderFactory; @@ -64,6 +67,7 @@ String userId = request.getHeader(SecurityConstants.USER_ID_HEADER); String username = request.getHeader(SecurityConstants.USER_HEADER); String roles = request.getHeader(SecurityConstants.ROLE_HEADER); + String organizations = request.getHeader(SecurityConstants.USER_ORGS_HEADER); if (StrUtil.isBlank(username)) { log.warn("resolveArgument error username is empty"); return null; @@ -75,14 +79,21 @@ user = new SysUser(); user.setId(Long.valueOf(userId)); user.setUsername(username); +// List<SysRole> sysRoleList = new ArrayList<>(); + if(StringUtils.isNotBlank(roles)){ + List<SysRole> sysRoles = JSON.parseArray(roles, SysRole.class); +// Arrays.stream(roles.split(",")).forEach(role -> { +// SysRole sysRole = new SysRole(); +// sysRole.setCode(role); +// sysRoleList.add(sysRole); +// }); + user.setRoles(sysRoles); + } + if(organizations!=null){ + List<SysOrganization> sysOrganizations = JSON.parseArray(organizations, SysOrganization.class); + user.setOrganizations(sysOrganizations); + } } - List<SysRole> sysRoleList = new ArrayList<>(); - Arrays.stream(roles.split(",")).forEach(role -> { - SysRole sysRole = new SysRole(); - sysRole.setCode(role); - sysRoleList.add(sysRole); - }); - user.setRoles(sysRoleList); return user; } } -- Gitblit v1.8.0