fix(登录): 修复同一个线程多个用户登录的bug
This commit is contained in:
parent
136f6f9e18
commit
92596cfd36
|
@ -3,9 +3,9 @@ package io.metersphere.controller;
|
||||||
import io.metersphere.commons.constants.UserSource;
|
import io.metersphere.commons.constants.UserSource;
|
||||||
import io.metersphere.commons.user.SessionUser;
|
import io.metersphere.commons.user.SessionUser;
|
||||||
import io.metersphere.commons.utils.RsaKey;
|
import io.metersphere.commons.utils.RsaKey;
|
||||||
import io.metersphere.commons.utils.RsaUtil;
|
|
||||||
import io.metersphere.commons.utils.SessionUtils;
|
import io.metersphere.commons.utils.SessionUtils;
|
||||||
import io.metersphere.controller.request.LoginRequest;
|
import io.metersphere.controller.request.LoginRequest;
|
||||||
|
import io.metersphere.i18n.Translator;
|
||||||
import io.metersphere.service.BaseDisplayService;
|
import io.metersphere.service.BaseDisplayService;
|
||||||
import io.metersphere.service.UserService;
|
import io.metersphere.service.UserService;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
@ -42,6 +42,12 @@ public class LoginController {
|
||||||
|
|
||||||
@PostMapping(value = "/signin")
|
@PostMapping(value = "/signin")
|
||||||
public ResultHolder login(@RequestBody LoginRequest request) {
|
public ResultHolder login(@RequestBody LoginRequest request) {
|
||||||
|
SessionUser sessionUser = SessionUtils.getUser();
|
||||||
|
if (sessionUser != null) {
|
||||||
|
if (!StringUtils.equals(sessionUser.getId(), request.getUsername())) {
|
||||||
|
return ResultHolder.error(Translator.get("please_logout_current_user"));
|
||||||
|
}
|
||||||
|
}
|
||||||
SecurityUtils.getSubject().getSession().setAttribute("authenticate", UserSource.LOCAL.name());
|
SecurityUtils.getSubject().getSession().setAttribute("authenticate", UserSource.LOCAL.name());
|
||||||
return userService.login(request);
|
return userService.login(request);
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ user_expires=user expires.
|
||||||
not_authorized=not authorized.
|
not_authorized=not authorized.
|
||||||
login_fail=Login fail
|
login_fail=Login fail
|
||||||
user_apikey_limit=Can have up to 5 api keys
|
user_apikey_limit=Can have up to 5 api keys
|
||||||
|
please_logout_current_user=Please logout current user first
|
||||||
#load test
|
#load test
|
||||||
edit_load_test_not_found=Cannot edit test, test not found=
|
edit_load_test_not_found=Cannot edit test, test not found=
|
||||||
run_load_test_not_found=Cannot run test, test not found=
|
run_load_test_not_found=Cannot run test, test not found=
|
||||||
|
|
|
@ -29,6 +29,7 @@ user_locked=用户被锁定
|
||||||
user_expires=用户过期
|
user_expires=用户过期
|
||||||
not_authorized=未经授权
|
not_authorized=未经授权
|
||||||
user_apikey_limit=最多能有5个Api key
|
user_apikey_limit=最多能有5个Api key
|
||||||
|
please_logout_current_user=请先登出当前用户
|
||||||
#load test
|
#load test
|
||||||
edit_load_test_not_found=无法编辑测试,未找到测试:
|
edit_load_test_not_found=无法编辑测试,未找到测试:
|
||||||
run_load_test_not_found=无法运行测试,未找到测试:
|
run_load_test_not_found=无法运行测试,未找到测试:
|
||||||
|
|
|
@ -29,6 +29,7 @@ user_expires=用戶過期
|
||||||
not_authorized=未經授權。
|
not_authorized=未經授權。
|
||||||
login_fail=登入失敗
|
login_fail=登入失敗
|
||||||
user_apikey_limit=最多能有5個Api key
|
user_apikey_limit=最多能有5個Api key
|
||||||
|
please_logout_current_user=請先登出當前用戶
|
||||||
#load test
|
#load test
|
||||||
edit_load_test_not_found=無法編輯測試,未找到測試:
|
edit_load_test_not_found=無法編輯測試,未找到測試:
|
||||||
run_load_test_not_found=無法運行測試,未找到測試:
|
run_load_test_not_found=無法運行測試,未找到測試:
|
||||||
|
|
Loading…
Reference in New Issue