From ffedfd89a1b3588a21fbc8b3042f6b628eb144ca Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 05 六月 2023 15:12:46 +0800 Subject: [PATCH] update 优化 !pr363 支持本地虚拟域名调试 --- ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java | 34 ++++++++++++++++++++++++---------- 1 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java index f39fd30..bba6113 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java @@ -2,6 +2,9 @@ import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.core.collection.CollUtil; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.model.EmailLoginBody; import org.dromara.common.core.domain.model.LoginBody; @@ -20,9 +23,6 @@ import org.dromara.web.domain.vo.TenantListVo; import org.dromara.web.service.SysLoginService; import org.dromara.web.service.SysRegisterService; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.validation.constraints.NotBlank; -import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -57,9 +57,9 @@ LoginVo loginVo = new LoginVo(); // 鐢熸垚浠ょ墝 String token = loginService.login( - body.getTenantId(), - body.getUsername(), body.getPassword(), - body.getCode(), body.getUuid()); + body.getTenantId(), + body.getUsername(), body.getPassword(), + body.getCode(), body.getUuid()); loginVo.setToken(token); return R.ok(loginVo); } @@ -74,7 +74,10 @@ public R<LoginVo> smsLogin(@Validated @RequestBody SmsLoginBody body) { LoginVo loginVo = new LoginVo(); // 鐢熸垚浠ょ墝 - String token = loginService.smsLogin(body.getTenantId(), body.getPhonenumber(), body.getSmsCode()); + String token = loginService.smsLogin( + body.getTenantId(), + body.getPhonenumber(), + body.getSmsCode()); loginVo.setToken(token); return R.ok(loginVo); } @@ -89,7 +92,10 @@ public R<LoginVo> emailLogin(@Validated @RequestBody EmailLoginBody body) { LoginVo loginVo = new LoginVo(); // 鐢熸垚浠ょ墝 - String token = loginService.emailLogin(body.getTenantId(), body.getEmail(), body.getEmailCode()); + String token = loginService.emailLogin( + body.getTenantId(), + body.getEmail(), + body.getEmailCode()); loginVo.setToken(token); return R.ok(loginVo); } @@ -140,9 +146,17 @@ List<SysTenantVo> tenantList = tenantService.queryList(new SysTenantBo()); List<TenantListVo> voList = MapstructUtils.convert(tenantList, TenantListVo.class); // 鑾峰彇鍩熷悕 - String host = new URL(request.getRequestURL().toString()).getHost(); + String host; + String referer = request.getHeader("referer"); + if (StringUtils.isNotBlank(referer)) { + // 杩欓噷浠巖eferer涓彇鍊兼槸涓轰簡鏈湴浣跨敤hosts娣诲姞铏氭嫙鍩熷悕锛屾柟渚挎湰鍦扮幆澧冭皟璇� + host = referer.split("//")[1].split("/")[0]; + } else { + host = new URL(request.getRequestURL().toString()).getHost(); + } // 鏍规嵁鍩熷悕杩涜绛涢�� - List<TenantListVo> list = StreamUtils.filter(voList, vo -> StringUtils.equals(vo.getDomain(), host)); + List<TenantListVo> list = StreamUtils.filter(voList, vo -> + StringUtils.equals(vo.getDomain(), host)); // 杩斿洖瀵硅薄 LoginTenantVo vo = new LoginTenantVo(); vo.setVoList(CollUtil.isNotEmpty(list) ? list : voList); -- Gitblit v1.9.3