From 4cc19e25b2a210ba4b5af46f30f28dbe4ca289fe Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 27 七月 2023 08:56:22 +0800
Subject: [PATCH] 修改websocket包位置 增加单兵端-下发给我的任务详情 增加app位置websocket推送按用户频率
---
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | 38 +++++++++++++++++++++++++++++++++++++-
1 files changed, 37 insertions(+), 1 deletions(-)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index 78d2213..cd67a89 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -95,7 +95,43 @@
getRongCloudToken(loginUser);
return token;
}
-
+ public String login(String username, String password, String code, String uuid,Boolean isApp) {
+ boolean captchaEnabled = configService.selectCaptchaEnabled();
+ // 楠岃瘉鐮佸紑鍏�
+ if (captchaEnabled) {
+ validateCaptcha(username, code, uuid);
+ }
+ // 鐢ㄦ埛楠岃瘉
+ Authentication authentication = null;
+ try {
+ UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, password);
+ AuthenticationContextHolder.setContext(authenticationToken);
+ // 璇ユ柟娉曚細鍘昏皟鐢║serDetailsServiceImpl.loadUserByUsername
+ authentication = authenticationManager.authenticate(authenticationToken);
+ } catch (Exception e) {
+ if (e instanceof BadCredentialsException) {
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
+ throw new UserPasswordNotMatchException();
+ } else {
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()));
+ throw new ServiceException(e.getMessage());
+ }
+ } finally {
+ AuthenticationContextHolder.clearContext();
+ }
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
+ LoginUser loginUser = (LoginUser) authentication.getPrincipal();
+ recordLoginInfo(loginUser.getUserId());
+ // 鐢熸垚token
+ if(StringUtils.isNotNull(isApp))
+ {
+ loginUser.setIsApp(isApp);
+ }
+ String token = tokenService.createToken(loginUser);
+ //鑾峰彇铻嶄簯token
+ getRongCloudToken(loginUser);
+ return token;
+ }
/**
* 鏍¢獙楠岃瘉鐮�
*
--
Gitblit v1.9.3