【7.1.5】修复因为系统资源未初始化完毕导致的登录失败问题

pull/22/MERGE
fengshuonan 2021-11-03 15:23:00 +08:00
parent 575d3b5c34
commit ac7afdc2a1
4 changed files with 32 additions and 2 deletions

View File

@ -57,9 +57,12 @@ import cn.stylefeng.roses.kernel.jwt.api.pojo.payload.DefaultJwtPayload;
import cn.stylefeng.roses.kernel.log.api.LoginLogServiceApi;
import cn.stylefeng.roses.kernel.message.api.expander.WebSocketConfigExpander;
import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil;
import cn.stylefeng.roses.kernel.scanner.api.exception.ScannerException;
import cn.stylefeng.roses.kernel.scanner.api.exception.enums.ScannerExceptionEnum;
import cn.stylefeng.roses.kernel.security.api.DragCaptchaApi;
import cn.stylefeng.roses.kernel.security.api.ImageCaptchaApi;
import cn.stylefeng.roses.kernel.security.api.expander.SecurityConfigExpander;
import cn.stylefeng.roses.kernel.system.api.ResourceServiceApi;
import cn.stylefeng.roses.kernel.system.api.UserServiceApi;
import cn.stylefeng.roses.kernel.system.api.enums.UserStatusEnum;
import cn.stylefeng.roses.kernel.system.api.pojo.user.UserLoginInfoDTO;
@ -113,6 +116,9 @@ public class AuthServiceImpl implements AuthServiceApi {
@Resource
private SsoProperties ssoProperties;
@Resource
private ResourceServiceApi resourceServiceApi;
@Override
public LoginResponse login(LoginRequest loginRequest) {
return loginAction(loginRequest, true, null);
@ -183,7 +189,7 @@ public class AuthServiceImpl implements AuthServiceApi {
String token = LoginContext.me().getToken();
// 演示环境,不记录退出日志
if(!DemoConfigExpander.getDemoEnvFlag()){
if (!DemoConfigExpander.getDemoEnvFlag()) {
if (StrUtil.isNotEmpty(token)) {
loginLogServiceApi.loginOutSuccess(LoginContext.me().getLoginUser().getUserId());
}
@ -286,6 +292,12 @@ public class AuthServiceImpl implements AuthServiceApi {
}
}
// 2.2 校验当前系统是否初始化资源完成,如果资源还没有初始化,提示用户请等一下再登录
Integer resourceCount = resourceServiceApi.getResourceCount();
if (resourceCount == null || resourceCount.equals(0)) {
throw new ScannerException(ScannerExceptionEnum.SYSTEM_RESOURCE_URL_NOT_INIT);
}
// 3. 解密密码的密文
// String decryptPassword = passwordTransferEncryptApi.decrypt(loginRequest.getPassword());

View File

@ -46,7 +46,12 @@ public enum ScannerExceptionEnum implements AbstractExceptionEnum {
/**
* Controller
*/
ERROR_CONTROLLER_NAME(RuleConstants.BUSINESS_ERROR_TYPE_CODE + ScannerConstants.RESOURCE_MODULE_NAME + "02", "扫描资源过程中存在不合法控制器名称请将控制名称以Controller结尾控制器名称{}");
ERROR_CONTROLLER_NAME(RuleConstants.BUSINESS_ERROR_TYPE_CODE + ScannerConstants.RESOURCE_MODULE_NAME + "02", "扫描资源过程中存在不合法控制器名称请将控制名称以Controller结尾控制器名称{}"),
/**
* 使
*/
SYSTEM_RESOURCE_URL_NOT_INIT(RuleConstants.BUSINESS_ERROR_TYPE_CODE + ScannerConstants.RESOURCE_MODULE_NAME + "03", "系统资源尚未初始化完毕,请稍后使用系统");
/**
*

View File

@ -57,4 +57,12 @@ public interface ResourceServiceApi {
*/
Set<String> getResourceUrlsListByCodes(Set<String> resourceCodes);
/**
* url
*
* @author fengshuonan
* @date 2021/11/3 15:11
*/
Integer getResourceCount();
}

View File

@ -392,6 +392,11 @@ public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysRe
return list.stream().map(SysResource::getUrl).collect(Collectors.toSet());
}
@Override
public Integer getResourceCount() {
return this.count();
}
/**
* wrapper
*