完善:发版前配置梳理

This commit is contained in:
Charles7c 2023-03-24 00:40:49 +08:00
parent f57d15793a
commit c5b748fe52
17 changed files with 28 additions and 7 deletions
continew-admin-common/src/main/java/top/charles7c/cnadmin/common
continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/config/satoken
continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/monitor

View File

@ -21,6 +21,7 @@ import java.lang.annotation.*;
/**
* 查询注解
*
* @author Zheng JieELADMIN
* @author Charles7c
* @since 2023/1/15 18:01
*/

View File

@ -59,8 +59,8 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
LocalStorageProperties.LocalStoragePath path = localStorageProperties.getPath();
String avatarUtl = "file:" + path.getAvatar().replace("\\", "/");
String fileUrl = "file:" + path.getFile().replace("\\", "/");
String avatarUtl = "file:" + path.getAvatar().replace(StringConsts.BACKSLASH, StringConsts.SLASH);
String fileUrl = "file:" + path.getFile().replace(StringConsts.BACKSLASH, StringConsts.SLASH);
registry.addResourceHandler(localStorageProperties.getFilePattern()).addResourceLocations(fileUrl)
.setCachePeriod(0);
registry.addResourceHandler(localStorageProperties.getAvatarPattern()).addResourceLocations(avatarUtl)

View File

@ -25,6 +25,7 @@ import cn.hutool.extra.spring.SpringUtil;
/**
* RSA 配置属性
*
* @author Zheng JieELADMIN
* @author Charles7c
* @since 2022/12/21 20:21
*/

View File

@ -35,6 +35,7 @@ import top.charles7c.cnadmin.common.exception.ServiceException;
/**
* 异步任务执行配置
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2022/12/23 22:33
*/
@ -47,7 +48,7 @@ public class AsyncConfiguration implements AsyncConfigurer {
private final ScheduledExecutorService scheduledExecutorService;
/**
* 异步任务执行时使用 Java 内置线程池
* 异步任务 @Async 执行时使用 Java 内置线程池
*/
@Override
public Executor getAsyncExecutor() {

View File

@ -34,6 +34,7 @@ import top.charles7c.cnadmin.common.util.ExceptionUtils;
/**
* 线程池配置
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2022/12/23 23:13
*/

View File

@ -24,6 +24,7 @@ import org.springframework.stereotype.Component;
/**
* 线程池配置属性
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2022/12/23 23:06
*/

View File

@ -52,6 +52,7 @@ import top.charles7c.cnadmin.common.util.holder.LogContextHolder;
* 全局异常处理器
*
* @author Charles7c
* @author Lion LiRuoYi-Vue-Plus
* @since 2022/12/21 21:01
*/
@Slf4j
@ -183,7 +184,6 @@ public class GlobalExceptionHandler {
@ExceptionHandler(NotLoginException.class)
public R handleNotLoginException(NotLoginException e, HttpServletRequest request) {
log.error("请求地址 [{}],认证失败,无法访问系统资源。", request.getRequestURI(), e);
String errorMsg;
switch (e.getType()) {
case NotLoginException.KICK_OUT:
@ -196,7 +196,6 @@ public class GlobalExceptionHandler {
errorMsg = "登录状态已过期,请重新登录";
break;
}
LogContextHolder.setErrorMsg(errorMsg);
return R.fail(HttpStatus.UNAUTHORIZED.value(), errorMsg);
}

View File

@ -34,6 +34,7 @@ import top.charles7c.cnadmin.common.constant.StringConsts;
/**
* 文件工具类
*
* @author Zheng JieELADMIN
* @author Charles7c
* @since 2023/1/2 21:34
*/

View File

@ -33,6 +33,7 @@ import cn.hutool.extra.spring.SpringUtil;
/**
* Redis 工具类
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2022/12/11 12:00
*/

View File

@ -31,6 +31,7 @@ import top.charles7c.cnadmin.common.constant.StringConsts;
/**
* Stream 工具类
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2022/12/22 19:51
*/

View File

@ -38,6 +38,7 @@ import top.charles7c.cnadmin.common.util.holder.LogContextHolder;
/**
* 登录助手
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2022/12/24 12:58
*/

View File

@ -36,6 +36,7 @@ import top.charles7c.cnadmin.common.util.ReflectUtils;
/**
* 查询助手
*
* @author Zheng JieELADMIN
* @author Charles7c
* @since 2023/1/15 18:17
*/

View File

@ -34,6 +34,7 @@ import cn.dev33.satoken.stp.StpUtil;
/**
* Sa-Token 配置
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2022/12/19 22:13
*/

View File

@ -27,17 +27,24 @@ import top.charles7c.cnadmin.common.util.helper.LoginHelper;
/**
* Sa-Token 权限认证适配
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2023/3/1 22:28
*/
public class SaTokenPermissionImpl implements StpInterface {
/**
* 获取菜单权限列表
*/
@Override
public List<String> getPermissionList(Object loginId, String loginType) {
LoginUser loginUser = LoginHelper.getLoginUser();
return new ArrayList<>(loginUser.getPermissions());
}
/**
* 获取角色权限列表
*/
@Override
public List<String> getRoleList(Object loginId, String loginType) {
LoginUser loginUser = LoginHelper.getLoginUser();

View File

@ -29,6 +29,7 @@ import top.charles7c.cnadmin.common.util.RedisUtils;
/**
* Sa-Token 持久层本地 Redis 适配参考Sa-Token/sa-token-plugin/sa-token-dao-redisx/SaTokenDaoOfRedis.java
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2022/12/28 22:55
*/

View File

@ -24,6 +24,7 @@ import org.springframework.stereotype.Component;
/**
* Sa-Token 安全配置属性
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2022/12/19 22:14
*/

View File

@ -39,6 +39,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import top.charles7c.cnadmin.common.constant.CacheConsts;
import top.charles7c.cnadmin.common.constant.StringConsts;
import top.charles7c.cnadmin.common.model.dto.LoginUser;
import top.charles7c.cnadmin.common.model.query.PageQuery;
import top.charles7c.cnadmin.common.model.vo.PageDataVO;
@ -50,6 +51,7 @@ import top.charles7c.cnadmin.monitor.model.vo.*;
/**
* 在线用户 API
*
* @author Lion LiRuoYi-Vue-Plus
* @author Charles7c
* @since 2023/1/20 21:51
*/
@ -64,9 +66,9 @@ public class OnlineUserController {
@GetMapping
public R<PageDataVO<OnlineUserVO>> page(@Validated OnlineUserQuery query, @Validated PageQuery pageQuery) {
List<LoginUser> loginUserList = new ArrayList<>();
List<String> tokenKeyList = StpUtil.searchTokenValue("", 0, -1, false);
List<String> tokenKeyList = StpUtil.searchTokenValue(StringConsts.EMPTY, 0, -1, false);
for (String tokenKey : tokenKeyList) {
String token = StrUtil.subAfter(tokenKey, ":", true);
String token = StrUtil.subAfter(tokenKey, StringConsts.COLON, true);
// 忽略已过期或失效 Token
if (StpUtil.stpLogic.getTokenActivityTimeoutByToken(token) < SaTokenDao.NEVER_EXPIRE) {
continue;