From 29d056ad806419749bf1891d01a237407bec9f7a Mon Sep 17 00:00:00 2001 From: jiangzhe <244140623@qq.com> Date: Thu, 11 Apr 2024 15:16:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=87=8F=E8=A1=A8=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=92=8C=E5=8F=91=E5=B8=83=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/AuthController.java | 20 +++++++++++++++++++ .../src/main/resources/application.yml | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) 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 cead50e..ce3dd2c 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 @@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.UserConstants; import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.model.LoginBody; +import org.dromara.common.core.domain.model.PasswordLoginBody; import org.dromara.common.core.domain.model.RegisterBody; import org.dromara.common.core.utils.MessageUtils; import org.dromara.common.core.utils.StringUtils; @@ -81,6 +82,25 @@ public class AuthController { return R.ok(loginVo); } + @SaIgnore + @PostMapping("/passwordLogin") + public R loginClient(@RequestBody PasswordLoginBody loginBody) { + // 授权类型和客户端id + String clientId = loginBody.getClientId(); + String grantType = loginBody.getGrantType(); + SysClient client = clientService.queryByClientId(clientId); + // 查询不到 client 或 client 内不包含 grantType + if (ObjectUtil.isNull(client) || !StringUtils.contains(client.getGrantType(), grantType)) { + log.info("客户端id: {} 认证类型:{} 异常!.", clientId, grantType); + return R.fail(MessageUtils.message("auth.grant.type.error")); + } else if (!UserConstants.NORMAL.equals(client.getStatus())) { + return R.fail(MessageUtils.message("auth.grant.type.blocked")); + } + // 登录 + LoginVo loginVo = IAuthStrategy.login(JsonUtils.toJsonString(loginBody), client, grantType); + return R.ok(loginVo); + } + /** * 退出登录 */ diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 599886c..35f45d5 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -8,7 +8,7 @@ ruoyi: copyrightYear: 2023 captcha: - enable: true + enable: false # 页面 <参数设置> 可开启关闭 验证码校验 # 验证码类型 math 数组计算 char 字符验证 type: MATH