mirror of https://gitee.com/stylefeng/roses
【7.1.5】修复因为系统资源未初始化完毕导致的登录失败问题
parent
575d3b5c34
commit
ac7afdc2a1
|
@ -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());
|
||||
|
||||
|
|
|
@ -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", "系统资源尚未初始化完毕,请稍后使用系统");
|
||||
|
||||
/**
|
||||
* 错误编码
|
||||
|
|
|
@ -57,4 +57,12 @@ public interface ResourceServiceApi {
|
|||
*/
|
||||
Set<String> getResourceUrlsListByCodes(Set<String> resourceCodes);
|
||||
|
||||
/**
|
||||
* 获取当前资源url的数量
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2021/11/3 15:11
|
||||
*/
|
||||
Integer getResourceCount();
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue