From e7ed4afe798f60f8abddff3a4fa86ca256daa76d Mon Sep 17 00:00:00 2001 From: David Wei Date: 星期三, 08 十一月 2023 10:29:35 +0800 Subject: [PATCH] update 登录策略代码优化 --- ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java index 3a27cb2..95c7aed 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java @@ -9,8 +9,8 @@ import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.Constants; import org.dromara.common.core.constant.GlobalConstants; -import org.dromara.common.core.domain.model.LoginBody; import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.domain.model.PasswordLoginBody; import org.dromara.common.core.enums.LoginType; import org.dromara.common.core.enums.UserStatus; import org.dromara.common.core.exception.user.CaptchaException; @@ -19,7 +19,7 @@ import org.dromara.common.core.utils.MessageUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.ValidatorUtils; -import org.dromara.common.core.validate.auth.PasswordGroup; +import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.tenant.helper.TenantHelper; @@ -48,12 +48,9 @@ private final SysUserMapper userMapper; @Override - public void validate(LoginBody loginBody) { - ValidatorUtils.validate(loginBody, PasswordGroup.class); - } - - @Override - public LoginVo login(String clientId, LoginBody loginBody, SysClient client) { + public LoginVo login(String body, SysClient client) { + PasswordLoginBody loginBody = JsonUtils.parseObject(body, PasswordLoginBody.class); + ValidatorUtils.validate(loginBody); String tenantId = loginBody.getTenantId(); String username = loginBody.getUsername(); String password = loginBody.getPassword(); @@ -70,12 +67,15 @@ loginService.checkLogin(LoginType.PASSWORD, tenantId, username, () -> !BCrypt.checkpw(password, user.getPassword())); // 姝ゅ鍙牴鎹櫥褰曠敤鎴风殑鏁版嵁涓嶅悓 鑷鍒涘缓 loginUser LoginUser loginUser = loginService.buildLoginUser(user); + loginUser.setClientKey(client.getClientKey()); + loginUser.setDeviceType(client.getDeviceType()); SaLoginModel model = new SaLoginModel(); model.setDevice(client.getDeviceType()); // 鑷畾涔夊垎閰� 涓嶅悓鐢ㄦ埛浣撶郴 涓嶅悓 token 鎺堟潈鏃堕棿 涓嶈缃粯璁よ蛋鍏ㄥ眬 yml 閰嶇疆 // 渚嬪: 鍚庡彴鐢ㄦ埛30鍒嗛挓杩囨湡 app鐢ㄦ埛1澶╄繃鏈� model.setTimeout(client.getTimeout()); model.setActiveTimeout(client.getActiveTimeout()); + model.setExtra(LoginHelper.CLIENT_KEY, client.getClientId()); // 鐢熸垚token LoginHelper.login(loginUser, model); @@ -85,7 +85,7 @@ LoginVo loginVo = new LoginVo(); loginVo.setAccessToken(StpUtil.getTokenValue()); loginVo.setExpireIn(StpUtil.getTokenTimeout()); - loginVo.setClientId(clientId); + loginVo.setClientId(client.getClientId()); return loginVo; } -- Gitblit v1.9.3