Prechádzať zdrojové kódy

fix
多账号体系登录

18339543638 6 mesiacov pred
rodič
commit
657385020a

+ 1 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/BizWxAppletClinicController.java

@@ -10,6 +10,7 @@ import cn.tr.module.smart.wx.dto.BizClinicAddOrEditDTO;
 import cn.tr.module.smart.wx.dto.BizWxAppletClinicQueryDTO;
 import cn.tr.module.smart.wx.dto.BizWxAppletClinicShiftCareDTO;
 import cn.tr.module.smart.wx.controller.vo.BizWxAppletClinicVO;
+import cn.tr.module.sys.oauth2.LoginTypeConstant;
 import cn.tr.plugin.mybatis.base.BaseController;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;

+ 1 - 2
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/psw/operator/LoginOAuth2PswUserOperator.java

@@ -15,7 +15,6 @@ import cn.tr.core.utils.PswUtils;
 import cn.tr.core.utils.ServletUtils;
 import cn.tr.module.sys.config.SysConfigManager;
 import cn.tr.module.sys.config.SysConfigProperties;
-import cn.tr.module.sys.oauth2.LoginTypeConstant;
 import cn.tr.module.sys.oauth2.config.CaptchaOperator;
 import cn.tr.module.sys.oauth2.dto.AccountUserInfoDTO;
 import cn.tr.module.sys.oauth2.dto.AccountUserInfoEditDTO;
@@ -161,7 +160,7 @@ public class LoginOAuth2PswUserOperator extends AbstractOAuth2PswUserOperator{
                 .username(username)
                 .tenantId(user.getTenantId())
                 .token(tokenValue)
-                .loginType(LoginTypeConstant.WEB)
+                .loginType(StpUtil.TYPE)
                 .loginIp(updateUser.getLastLoginIp())
                 .loginLocation(cityInfo)
                 .loginTime(loginTime)

+ 6 - 6
tr-plugins/tr-spring-boot-starter-plugin-satoken/src/main/java/cn/tr/plugin/security/filter/TrSaTokenFilter.java

@@ -1,13 +1,15 @@
 package cn.tr.plugin.security.filter;
+
 import cn.dev33.satoken.exception.NotLoginException;
 import cn.dev33.satoken.exception.NotPermissionException;
 import cn.dev33.satoken.exception.NotRoleException;
 import cn.dev33.satoken.stp.StpUtil;
-import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
-import cn.tr.plugin.security.bo.UserLoginInfoBO;
+import cn.tr.core.utils.ServletUtils;
+import cn.tr.plugin.security.constant.SecurityConstant;
 import cn.tr.plugin.security.context.LoginUserContextHolder;
 import org.springframework.web.util.NestedServletException;
+
 import javax.servlet.*;
 import java.io.IOException;
 
@@ -21,10 +23,8 @@ public class TrSaTokenFilter implements Filter {
     @Override
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
         if(StrUtil.isEmpty(LoginUserContextHolder.getStpType())){
-            UserLoginInfoBO user = LoginUserContextHolder.getUser();
-            if(ObjectUtil.isNotNull(user)){
-                LoginUserContextHolder.setStpType( StrUtil.isEmpty(user.getLoginType())?StpUtil.TYPE:user.getLoginType());
-            }
+            String stpType = ServletUtils.getHeader(SecurityConstant.STP_TYPE);
+            LoginUserContextHolder.setStpType( StrUtil.isEmpty(stpType)? StpUtil.TYPE:stpType);
         }
         try {
             filterChain.doFilter(servletRequest,servletResponse);