Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
有来技术
youlai-boot
提交
3b6dbf8f
Y
youlai-boot
项目概览
有来技术
/
youlai-boot
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
youlai-boot
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3b6dbf8f
编写于
1月 21, 2024
作者:
H
hxr
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: 包结构优化
上级
dd5e92b6
变更
42
隐藏空白更改
内联
并排
Showing
42 changed file
with
67 addition
and
99 deletion
+67
-99
README.md
README.md
+8
-7
src/main/java/com/youlai/system/common/enums/CaptchaTypeEnum.java
.../java/com/youlai/system/common/enums/CaptchaTypeEnum.java
+1
-1
src/main/java/com/youlai/system/common/enums/DataScopeEnum.java
...in/java/com/youlai/system/common/enums/DataScopeEnum.java
+1
-1
src/main/java/com/youlai/system/common/enums/GenderEnum.java
src/main/java/com/youlai/system/common/enums/GenderEnum.java
+1
-1
src/main/java/com/youlai/system/common/enums/MenuTypeEnum.java
...ain/java/com/youlai/system/common/enums/MenuTypeEnum.java
+1
-1
src/main/java/com/youlai/system/common/enums/StatusEnum.java
src/main/java/com/youlai/system/common/enums/StatusEnum.java
+1
-1
src/main/java/com/youlai/system/common/util/DateUtils.java
src/main/java/com/youlai/system/common/util/DateUtils.java
+1
-1
src/main/java/com/youlai/system/common/util/ExcelUtils.java
src/main/java/com/youlai/system/common/util/ExcelUtils.java
+1
-1
src/main/java/com/youlai/system/common/util/ResponseUtils.java
...ain/java/com/youlai/system/common/util/ResponseUtils.java
+1
-1
src/main/java/com/youlai/system/config/MybatisConfig.java
src/main/java/com/youlai/system/config/MybatisConfig.java
+2
-2
src/main/java/com/youlai/system/config/SecurityConfig.java
src/main/java/com/youlai/system/config/SecurityConfig.java
+2
-2
src/main/java/com/youlai/system/config/WebSocketConfig.java
src/main/java/com/youlai/system/config/WebSocketConfig.java
+1
-1
src/main/java/com/youlai/system/controller/SysUserController.java
.../java/com/youlai/system/controller/SysUserController.java
+1
-1
src/main/java/com/youlai/system/converter/UserConverter.java
src/main/java/com/youlai/system/converter/UserConverter.java
+1
-1
src/main/java/com/youlai/system/filter/JwtTokenFilter.java
src/main/java/com/youlai/system/filter/JwtTokenFilter.java
+3
-5
src/main/java/com/youlai/system/filter/VerifyCodeFilter.java
src/main/java/com/youlai/system/filter/VerifyCodeFilter.java
+1
-1
src/main/java/com/youlai/system/mapper/SysDeptMapper.java
src/main/java/com/youlai/system/mapper/SysDeptMapper.java
+1
-1
src/main/java/com/youlai/system/mapper/SysUserMapper.java
src/main/java/com/youlai/system/mapper/SysUserMapper.java
+1
-1
src/main/java/com/youlai/system/model/bo/RouteBO.java
src/main/java/com/youlai/system/model/bo/RouteBO.java
+1
-1
src/main/java/com/youlai/system/model/entity/SysMenu.java
src/main/java/com/youlai/system/model/entity/SysMenu.java
+1
-1
src/main/java/com/youlai/system/model/form/MenuForm.java
src/main/java/com/youlai/system/model/form/MenuForm.java
+1
-1
src/main/java/com/youlai/system/model/vo/MenuVO.java
src/main/java/com/youlai/system/model/vo/MenuVO.java
+1
-1
src/main/java/com/youlai/system/plugin/dupsubmit/aspect/DuplicateSubmitAspect.java
...system/plugin/dupsubmit/aspect/DuplicateSubmitAspect.java
+1
-1
src/main/java/com/youlai/system/plugin/easyexcel/UserImportListener.java
...om/youlai/system/plugin/easyexcel/UserImportListener.java
+2
-2
src/main/java/com/youlai/system/plugin/mybatis/annotation/DataPermission.java
...ulai/system/plugin/mybatis/annotation/DataPermission.java
+1
-1
src/main/java/com/youlai/system/plugin/mybatis/handler/MyDataPermissionHandler.java
...ystem/plugin/mybatis/handler/MyDataPermissionHandler.java
+4
-4
src/main/java/com/youlai/system/plugin/mybatis/handler/MyMetaObjectHandler.java
...ai/system/plugin/mybatis/handler/MyMetaObjectHandler.java
+1
-1
src/main/java/com/youlai/system/plugin/rabbitmq/TestListener.java
.../java/com/youlai/system/plugin/rabbitmq/TestListener.java
+0
-8
src/main/java/com/youlai/system/security/exception/MyAccessDeniedHandler.java
...ulai/system/security/exception/MyAccessDeniedHandler.java
+2
-2
src/main/java/com/youlai/system/security/exception/MyAuthenticationEntryPoint.java
...system/security/exception/MyAuthenticationEntryPoint.java
+2
-2
src/main/java/com/youlai/system/security/model/SysUserDetails.java
...java/com/youlai/system/security/model/SysUserDetails.java
+1
-1
src/main/java/com/youlai/system/security/service/PermissionService.java
...com/youlai/system/security/service/PermissionService.java
+2
-2
src/main/java/com/youlai/system/security/service/SysUserDetailsService.java
...youlai/system/security/service/SysUserDetailsService.java
+2
-2
src/main/java/com/youlai/system/security/util/JwtUtils.java
src/main/java/com/youlai/system/security/util/JwtUtils.java
+2
-25
src/main/java/com/youlai/system/security/util/SecurityUtils.java
...n/java/com/youlai/system/security/util/SecurityUtils.java
+2
-2
src/main/java/com/youlai/system/service/impl/AuthServiceImpl.java
.../java/com/youlai/system/service/impl/AuthServiceImpl.java
+2
-2
src/main/java/com/youlai/system/service/impl/SysDeptServiceImpl.java
...va/com/youlai/system/service/impl/SysDeptServiceImpl.java
+1
-1
src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java
...va/com/youlai/system/service/impl/SysMenuServiceImpl.java
+2
-2
src/main/java/com/youlai/system/service/impl/SysRoleServiceImpl.java
...va/com/youlai/system/service/impl/SysRoleServiceImpl.java
+2
-2
src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java
...va/com/youlai/system/service/impl/SysUserServiceImpl.java
+2
-2
src/main/resources/mapper/SysMenuMapper.xml
src/main/resources/mapper/SysMenuMapper.xml
+2
-2
src/main/resources/mapper/SysRoleMenuMapper.xml
src/main/resources/mapper/SysRoleMenuMapper.xml
+1
-1
未找到文件。
README.md
浏览文件 @
3b6dbf8f
...
...
@@ -28,7 +28,7 @@
基于 JDK 17、Spring Boot 3、Spring Security 6、JWT、Redis、Mybatis-Plus、Knife4j、Vue 3、Element-Plus 构建的前后端分离单体权限管理系统。
-
**🚀 开发框架**
: 使用 Spring Boot 3
.0
和 Vue 3,以及 Element-Plus 等主流技术栈,实时更新。
-
**🚀 开发框架**
: 使用 Spring Boot 3 和 Vue 3,以及 Element-Plus 等主流技术栈,实时更新。
-
**🔐 安全认证**
: 结合 Spring Security 和 JWT 提供安全、无状态、分布式友好的身份验证和授权机制。
...
...
@@ -57,7 +57,7 @@ youlai-boot
├── WebSocketConfig # WebSocket 自动装配配置
├── XxlJobConfig # XXL-JOB 自动装配配置
├── controller # 控制层
├── converter # MapStruct转换器
├── converter # MapStruct
转换器
├── core # 核心模块
├── security # Spring Security 安全配置和扩展
├── mybatis # Mybatis-Plus 配置和插件
...
...
@@ -75,14 +75,15 @@ youlai-boot
├── plugin # 插件(可选)
├── captcha # 验证码插件,用于生成验证码
├── dupsubmit # 防重提交插件,用于防止表单重复提交
├── mybatis # Mybatis 插件,数据权限、字段填充
├── easyexcel # EasyExcel 插件,Excel 文件的读写
├── rabbitmq # RabbitMQ 插件,消息队列交互
├── websocket # WebSocket 插件,实时双向通信
├── xxljob # XXL-JOB 插件,分布式任务调度和执行
├── security # Spring Security 安全配置和扩展
├── util # 工具类
├── JwtUtils # JWT 工具类,用于生成和解析 JWT
├── SecurityUtils # Spring Security 工具类,用于获取当前登录用户
├── service # 业务逻辑层
├── util # 工具类
├── JwtUtils # JWT 工具类
├── SecurityUtils # Spring Security 工具类
└── end
```
...
...
src/main/java/com/youlai/system/enums/CaptchaTypeEnum.java
→
src/main/java/com/youlai/system/
common/
enums/CaptchaTypeEnum.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.enums
;
package
com.youlai.system.
common.
enums
;
/**
* EasyCaptcha 验证码类型枚举
...
...
src/main/java/com/youlai/system/enums/DataScopeEnum.java
→
src/main/java/com/youlai/system/
common/
enums/DataScopeEnum.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.enums
;
package
com.youlai.system.
common.
enums
;
import
com.youlai.system.common.base.IBaseEnum
;
import
lombok.Getter
;
...
...
src/main/java/com/youlai/system/enums/GenderEnum.java
→
src/main/java/com/youlai/system/
common/
enums/GenderEnum.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.enums
;
package
com.youlai.system.
common.
enums
;
import
com.youlai.system.common.base.IBaseEnum
;
import
io.swagger.v3.oas.annotations.media.Schema
;
...
...
src/main/java/com/youlai/system/enums/MenuTypeEnum.java
→
src/main/java/com/youlai/system/
common/
enums/MenuTypeEnum.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.enums
;
package
com.youlai.system.
common.
enums
;
import
com.baomidou.mybatisplus.annotation.EnumValue
;
import
com.youlai.system.common.base.IBaseEnum
;
...
...
src/main/java/com/youlai/system/enums/StatusEnum.java
→
src/main/java/com/youlai/system/
common/
enums/StatusEnum.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.enums
;
package
com.youlai.system.
common.
enums
;
import
com.youlai.system.common.base.IBaseEnum
;
import
lombok.Getter
;
...
...
src/main/java/com/youlai/system/util/DateUtils.java
→
src/main/java/com/youlai/system/
common/
util/DateUtils.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.util
;
package
com.youlai.system.
common.
util
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
...
...
src/main/java/com/youlai/system/util/ExcelUtils.java
→
src/main/java/com/youlai/system/
common/
util/ExcelUtils.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.util
;
package
com.youlai.system.
common.
util
;
import
com.alibaba.excel.EasyExcel
;
import
com.youlai.system.plugin.easyexcel.MyAnalysisEventListener
;
...
...
src/main/java/com/youlai/system/util/ResponseUtils.java
→
src/main/java/com/youlai/system/
common/
util/ResponseUtils.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.util
;
package
com.youlai.system.
common.
util
;
import
cn.hutool.json.JSONUtil
;
import
com.youlai.system.common.result.IResultCode
;
...
...
src/main/java/com/youlai/system/config/MybatisConfig.java
浏览文件 @
3b6dbf8f
...
...
@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.core.config.GlobalConfig;
import
com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor
;
import
com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor
;
import
com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor
;
import
com.youlai.system.
core
.mybatis.handler.MyDataPermissionHandler
;
import
com.youlai.system.
core
.mybatis.handler.MyMetaObjectHandler
;
import
com.youlai.system.
plugin
.mybatis.handler.MyDataPermissionHandler
;
import
com.youlai.system.
plugin
.mybatis.handler.MyMetaObjectHandler
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.transaction.annotation.EnableTransactionManagement
;
...
...
src/main/java/com/youlai/system/config/SecurityConfig.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.config
;
import
com.youlai.system.common.constant.SecurityConstants
;
import
com.youlai.system.
core.
security.exception.MyAccessDeniedHandler
;
import
com.youlai.system.
core.
security.exception.MyAuthenticationEntryPoint
;
import
com.youlai.system.security.exception.MyAccessDeniedHandler
;
import
com.youlai.system.security.exception.MyAuthenticationEntryPoint
;
import
com.youlai.system.filter.JwtTokenFilter
;
import
com.youlai.system.filter.VerifyCodeFilter
;
import
lombok.RequiredArgsConstructor
;
...
...
src/main/java/com/youlai/system/config/WebSocketConfig.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.config
;
import
cn.hutool.core.util.StrUtil
;
import
com.youlai.system.util.JwtUtils
;
import
com.youlai.system.
security.
util.JwtUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.HttpHeaders
;
...
...
src/main/java/com/youlai/system/controller/SysUserController.java
浏览文件 @
3b6dbf8f
...
...
@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.youlai.system.common.result.PageResult
;
import
com.youlai.system.common.result.Result
;
import
com.youlai.system.util.ExcelUtils
;
import
com.youlai.system.
common.
util.ExcelUtils
;
import
com.youlai.system.plugin.dupsubmit.annotation.PreventDuplicateSubmit
;
import
com.youlai.system.plugin.easyexcel.UserImportListener
;
import
com.youlai.system.model.vo.UserImportVO
;
...
...
src/main/java/com/youlai/system/converter/UserConverter.java
浏览文件 @
3b6dbf8f
...
...
@@ -23,7 +23,7 @@ import org.mapstruct.Mappings;
public
interface
UserConverter
{
@Mappings
({
@Mapping
(
target
=
"genderLabel"
,
expression
=
"java(com.youlai.system.common.base.IBaseEnum.getLabelByValue(bo.getGender(), com.youlai.system.enums.GenderEnum.class))"
)
@Mapping
(
target
=
"genderLabel"
,
expression
=
"java(com.youlai.system.common.base.IBaseEnum.getLabelByValue(bo.getGender(), com.youlai.system.
common.
enums.GenderEnum.class))"
)
})
UserPageVO
toPageVo
(
UserBO
bo
);
...
...
src/main/java/com/youlai/system/filter/JwtTokenFilter.java
浏览文件 @
3b6dbf8f
...
...
@@ -2,19 +2,17 @@ package com.youlai.system.filter;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.extra.spring.SpringUtil
;
import
cn.hutool.jwt.JWTPayload
;
import
com.youlai.system.common.constant.CacheConstants
;
import
com.youlai.system.common.result.ResultCode
;
import
com.youlai.system.util.JwtUtils
;
import
com.youlai.system.util.ResponseUtils
;
import
com.youlai.system.
security.
util.JwtUtils
;
import
com.youlai.system.
common.
util.ResponseUtils
;
import
com.youlai.system.common.exception.BusinessException
;
import
jakarta.servlet.FilterChain
;
import
jakarta.servlet.ServletException
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletResponse
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.core.context.SecurityContextHolder
;
...
...
@@ -52,7 +50,7 @@ public class JwtTokenFilter extends OncePerRequestFilter {
String
jti
=
Convert
.
toStr
(
payload
.
get
(
JWTPayload
.
JWT_ID
));
Boolean
isTokenBlacklisted
=
redisTemplate
.
hasKey
(
CacheConstants
.
BLACKLIST_TOKEN_PREFIX
+
jti
);
if
(
isTokenBlacklisted
)
{
if
(
Boolean
.
TRUE
.
equals
(
isTokenBlacklisted
)
)
{
ResponseUtils
.
writeErrMsg
(
response
,
ResultCode
.
TOKEN_INVALID
);
return
;
}
...
...
src/main/java/com/youlai/system/filter/VerifyCodeFilter.java
浏览文件 @
3b6dbf8f
...
...
@@ -6,7 +6,7 @@ import cn.hutool.extra.spring.SpringUtil;
import
com.youlai.system.common.constant.CacheConstants
;
import
com.youlai.system.common.constant.SecurityConstants
;
import
com.youlai.system.common.result.ResultCode
;
import
com.youlai.system.util.ResponseUtils
;
import
com.youlai.system.
common.
util.ResponseUtils
;
import
jakarta.servlet.FilterChain
;
import
jakarta.servlet.ServletException
;
import
jakarta.servlet.http.HttpServletRequest
;
...
...
src/main/java/com/youlai/system/mapper/SysDeptMapper.java
浏览文件 @
3b6dbf8f
...
...
@@ -3,7 +3,7 @@ package com.youlai.system.mapper;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.youlai.system.
core
.mybatis.annotation.DataPermission
;
import
com.youlai.system.
plugin
.mybatis.annotation.DataPermission
;
import
com.youlai.system.model.entity.SysDept
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
src/main/java/com/youlai/system/mapper/SysUserMapper.java
浏览文件 @
3b6dbf8f
...
...
@@ -2,7 +2,7 @@ package com.youlai.system.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.youlai.system.
core
.mybatis.annotation.DataPermission
;
import
com.youlai.system.
plugin
.mybatis.annotation.DataPermission
;
import
com.youlai.system.model.bo.UserBO
;
import
com.youlai.system.model.entity.SysUser
;
import
com.youlai.system.model.dto.UserAuthInfo
;
...
...
src/main/java/com/youlai/system/model/bo/RouteBO.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.model.bo
;
import
com.youlai.system.enums.MenuTypeEnum
;
import
com.youlai.system.
common.
enums.MenuTypeEnum
;
import
lombok.Data
;
import
java.util.List
;
...
...
src/main/java/com/youlai/system/model/entity/SysMenu.java
浏览文件 @
3b6dbf8f
...
...
@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.youlai.system.common.base.BaseEntity
;
import
com.youlai.system.enums.MenuTypeEnum
;
import
com.youlai.system.
common.
enums.MenuTypeEnum
;
import
lombok.Data
;
/**
...
...
src/main/java/com/youlai/system/model/form/MenuForm.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.model.form
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.youlai.system.enums.MenuTypeEnum
;
import
com.youlai.system.
common.
enums.MenuTypeEnum
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
...
...
src/main/java/com/youlai/system/model/vo/MenuVO.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.model.vo
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.youlai.system.enums.MenuTypeEnum
;
import
com.youlai.system.
common.
enums.MenuTypeEnum
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
...
...
src/main/java/com/youlai/system/plugin/dupsubmit/aspect/DuplicateSubmitAspect.java
浏览文件 @
3b6dbf8f
...
...
@@ -5,7 +5,7 @@ import cn.hutool.core.util.StrUtil;
import
com.youlai.system.plugin.dupsubmit.annotation.PreventDuplicateSubmit
;
import
com.youlai.system.common.result.ResultCode
;
import
com.youlai.system.common.exception.BusinessException
;
import
com.youlai.system.util.JwtUtils
;
import
com.youlai.system.
security.
util.JwtUtils
;
import
jakarta.servlet.http.HttpServletRequest
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
...
...
src/main/java/com/youlai/system/plugin/easyexcel/UserImportListener.java
浏览文件 @
3b6dbf8f
...
...
@@ -9,8 +9,8 @@ import com.alibaba.excel.context.AnalysisContext;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.youlai.system.common.base.IBaseEnum
;
import
com.youlai.system.common.constant.SystemConstants
;
import
com.youlai.system.enums.GenderEnum
;
import
com.youlai.system.enums.StatusEnum
;
import
com.youlai.system.
common.
enums.GenderEnum
;
import
com.youlai.system.
common.
enums.StatusEnum
;
import
com.youlai.system.converter.UserConverter
;
import
com.youlai.system.model.entity.SysRole
;
import
com.youlai.system.model.entity.SysUser
;
...
...
src/main/java/com/youlai/system/
core
/mybatis/annotation/DataPermission.java
→
src/main/java/com/youlai/system/
plugin
/mybatis/annotation/DataPermission.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.
core
.mybatis.annotation
;
package
com.youlai.system.
plugin
.mybatis.annotation
;
import
java.lang.annotation.*
;
...
...
src/main/java/com/youlai/system/
core
/mybatis/handler/MyDataPermissionHandler.java
→
src/main/java/com/youlai/system/
plugin
/mybatis/handler/MyDataPermissionHandler.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.
core
.mybatis.handler
;
package
com.youlai.system.
plugin
.mybatis.handler
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.toolkit.StringPool
;
import
com.baomidou.mybatisplus.extension.plugins.handler.DataPermissionHandler
;
import
com.youlai.system.
core
.mybatis.annotation.DataPermission
;
import
com.youlai.system.
plugin
.mybatis.annotation.DataPermission
;
import
com.youlai.system.common.base.IBaseEnum
;
import
com.youlai.system.enums.DataScopeEnum
;
import
com.youlai.system.util.SecurityUtils
;
import
com.youlai.system.
common.
enums.DataScopeEnum
;
import
com.youlai.system.
security.
util.SecurityUtils
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
net.sf.jsqlparser.expression.Expression
;
...
...
src/main/java/com/youlai/system/
core
/mybatis/handler/MyMetaObjectHandler.java
→
src/main/java/com/youlai/system/
plugin
/mybatis/handler/MyMetaObjectHandler.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.
core
.mybatis.handler
;
package
com.youlai.system.
plugin
.mybatis.handler
;
import
com.baomidou.mybatisplus.core.handlers.MetaObjectHandler
;
import
org.apache.ibatis.reflection.MetaObject
;
...
...
src/main/java/com/youlai/system/plugin/rabbitmq/TestListener.java
已删除
100644 → 0
浏览文件 @
dd5e92b6
package
com.youlai.system.plugin.rabbitmq
;
/**
* @author haoxr
* @since 0.0.1
*/
public
class
TestListener
{
}
src/main/java/com/youlai/system/
core/
security/exception/MyAccessDeniedHandler.java
→
src/main/java/com/youlai/system/security/exception/MyAccessDeniedHandler.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.
core.
security.exception
;
package
com.youlai.system.security.exception
;
import
com.youlai.system.common.result.ResultCode
;
import
com.youlai.system.util.ResponseUtils
;
import
com.youlai.system.
common.
util.ResponseUtils
;
import
org.springframework.security.access.AccessDeniedException
;
import
org.springframework.security.web.access.AccessDeniedHandler
;
import
org.springframework.stereotype.Component
;
...
...
src/main/java/com/youlai/system/
core/
security/exception/MyAuthenticationEntryPoint.java
→
src/main/java/com/youlai/system/security/exception/MyAuthenticationEntryPoint.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.
core.
security.exception
;
package
com.youlai.system.security.exception
;
import
com.youlai.system.common.result.ResultCode
;
import
com.youlai.system.util.ResponseUtils
;
import
com.youlai.system.
common.
util.ResponseUtils
;
import
org.springframework.security.authentication.BadCredentialsException
;
import
org.springframework.security.core.AuthenticationException
;
import
org.springframework.security.web.AuthenticationEntryPoint
;
...
...
src/main/java/com/youlai/system/
core/
security/model/SysUserDetails.java
→
src/main/java/com/youlai/system/security/model/SysUserDetails.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.
core.
security.model
;
package
com.youlai.system.security.model
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.ObjectUtil
;
...
...
src/main/java/com/youlai/system/
core/
security/service/PermissionService.java
→
src/main/java/com/youlai/system/security/service/PermissionService.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.
core.
security.service
;
package
com.youlai.system.security.service
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.youlai.system.common.constant.CacheConstants
;
import
com.youlai.system.util.SecurityUtils
;
import
com.youlai.system.
security.
util.SecurityUtils
;
import
com.youlai.system.model.bo.RolePermsBO
;
import
com.youlai.system.service.SysRoleMenuService
;
import
jakarta.annotation.PostConstruct
;
...
...
src/main/java/com/youlai/system/
core/
security/service/SysUserDetailsService.java
→
src/main/java/com/youlai/system/security/service/SysUserDetailsService.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.
core.
security.service
;
package
com.youlai.system.security.service
;
import
com.youlai.system.
core.
security.model.SysUserDetails
;
import
com.youlai.system.security.model.SysUserDetails
;
import
com.youlai.system.model.dto.UserAuthInfo
;
import
com.youlai.system.service.SysUserService
;
import
lombok.RequiredArgsConstructor
;
...
...
src/main/java/com/youlai/system/util/JwtUtils.java
→
src/main/java/com/youlai/system/
security/
util/JwtUtils.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.util
;
package
com.youlai.system.
security.
util
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.date.DateUtil
;
...
...
@@ -9,7 +9,7 @@ import cn.hutool.jwt.JWT;
import
cn.hutool.jwt.JWTPayload
;
import
cn.hutool.jwt.JWTUtil
;
import
com.youlai.system.common.constant.JwtClaimConstants
;
import
com.youlai.system.
core.
security.model.SysUserDetails
;
import
com.youlai.system.security.model.SysUserDetails
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.security.authentication.UsernamePasswordAuthenticationToken
;
import
org.springframework.security.core.Authentication
;
...
...
@@ -126,27 +126,4 @@ public class JwtUtils {
return
new
UsernamePasswordAuthenticationToken
(
userDetails
,
""
,
authorities
);
}
/**
* 验证 JWT Token
*
* @param token JWT Token
* @return 是否有效
*/
public
static
boolean
verifyToken
(
String
token
)
{
if
(
StrUtil
.
isBlank
(
token
))
{
return
false
;
}
if
(
token
.
startsWith
(
"Bearer "
))
{
token
=
token
.
substring
(
7
);
}
JWT
jwt
=
JWTUtil
.
parseToken
(
token
);
return
jwt
.
setKey
(
JwtUtils
.
key
).
validate
(
0
);
}
}
src/main/java/com/youlai/system/util/SecurityUtils.java
→
src/main/java/com/youlai/system/
security/
util/SecurityUtils.java
浏览文件 @
3b6dbf8f
package
com.youlai.system.util
;
package
com.youlai.system.
security.
util
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.util.StrUtil
;
import
com.youlai.system.common.constant.SystemConstants
;
import
com.youlai.system.
core.
security.model.SysUserDetails
;
import
com.youlai.system.security.model.SysUserDetails
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.core.GrantedAuthority
;
import
org.springframework.security.core.context.SecurityContextHolder
;
...
...
src/main/java/com/youlai/system/service/impl/AuthServiceImpl.java
浏览文件 @
3b6dbf8f
...
...
@@ -8,12 +8,12 @@ import cn.hutool.core.util.IdUtil;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.jwt.JWTPayload
;
import
com.youlai.system.common.constant.CacheConstants
;
import
com.youlai.system.enums.CaptchaTypeEnum
;
import
com.youlai.system.
common.
enums.CaptchaTypeEnum
;
import
com.youlai.system.model.dto.CaptchaResult
;
import
com.youlai.system.model.dto.LoginResult
;
import
com.youlai.system.plugin.captcha.CaptchaProperties
;
import
com.youlai.system.service.AuthService
;
import
com.youlai.system.util.JwtUtils
;
import
com.youlai.system.
security.
util.JwtUtils
;
import
jakarta.servlet.http.HttpServletRequest
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
...
...
src/main/java/com/youlai/system/service/impl/SysDeptServiceImpl.java
浏览文件 @
3b6dbf8f
...
...
@@ -6,7 +6,7 @@ import cn.hutool.core.util.StrUtil;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.youlai.system.common.constant.SystemConstants
;
import
com.youlai.system.enums.StatusEnum
;
import
com.youlai.system.
common.
enums.StatusEnum
;
import
com.youlai.system.converter.DeptConverter
;
import
com.youlai.system.mapper.SysDeptMapper
;
import
com.youlai.system.model.entity.SysDept
;
...
...
src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java
浏览文件 @
3b6dbf8f
...
...
@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.youlai.system.common.constant.SystemConstants
;
import
com.youlai.system.enums.MenuTypeEnum
;
import
com.youlai.system.enums.StatusEnum
;
import
com.youlai.system.
common.
enums.MenuTypeEnum
;
import
com.youlai.system.
common.
enums.StatusEnum
;
import
com.youlai.system.common.model.Option
;
import
com.youlai.system.converter.MenuConverter
;
import
com.youlai.system.mapper.SysMenuMapper
;
...
...
src/main/java/com/youlai/system/service/impl/SysRoleServiceImpl.java
浏览文件 @
3b6dbf8f
...
...
@@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.youlai.system.common.constant.SystemConstants
;
import
com.youlai.system.common.model.Option
;
import
com.youlai.system.converter.RoleConverter
;
import
com.youlai.system.
core.
security.service.PermissionService
;
import
com.youlai.system.security.service.PermissionService
;
import
com.youlai.system.mapper.SysRoleMapper
;
import
com.youlai.system.model.entity.SysRole
;
import
com.youlai.system.model.entity.SysRoleMenu
;
...
...
@@ -20,7 +20,7 @@ import com.youlai.system.model.vo.RolePageVO;
import
com.youlai.system.service.SysRoleMenuService
;
import
com.youlai.system.service.SysRoleService
;
import
com.youlai.system.service.SysUserRoleService
;
import
com.youlai.system.util.SecurityUtils
;
import
com.youlai.system.
security.
util.SecurityUtils
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.stereotype.Service
;
...
...
src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java
浏览文件 @
3b6dbf8f
...
...
@@ -9,9 +9,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.youlai.system.common.constant.SystemConstants
;
import
com.youlai.system.util.DateUtils
;
import
com.youlai.system.
common.
util.DateUtils
;
import
com.youlai.system.converter.UserConverter
;
import
com.youlai.system.util.SecurityUtils
;
import
com.youlai.system.
security.
util.SecurityUtils
;
import
com.youlai.system.mapper.SysUserMapper
;
import
com.youlai.system.model.dto.UserAuthInfo
;
import
com.youlai.system.model.bo.UserBO
;
...
...
src/main/resources/mapper/SysMenuMapper.xml
浏览文件 @
3b6dbf8f
...
...
@@ -44,7 +44,7 @@
LEFT JOIN sys_role_menu t2 ON t1.id = t2.menu_id
LEFT JOIN sys_role t3 ON t2.role_id = t3.id
WHERE
t1.type != '${@com.youlai.system.enums.MenuTypeEnum@BUTTON.getValue()}'
t1.type != '${@com.youlai.system.
common.
enums.MenuTypeEnum@BUTTON.getValue()}'
ORDER BY t1.sort asc
</select>
...
...
@@ -57,7 +57,7 @@
INNER JOIN sys_role_menu t2 ON t1.id = t2.menu_id
INNER JOIN sys_role t3 ON t3.id = t2.role_id
WHERE
t1.type = '${@com.youlai.system.enums.MenuTypeEnum@BUTTON.getValue()}'
t1.type = '${@com.youlai.system.
common.
enums.MenuTypeEnum@BUTTON.getValue()}'
AND t1.perm IS NOT NULL
<choose>
<when
test=
"roles!=null and roles.size()>0"
>
...
...
src/main/resources/mapper/SysRoleMenuMapper.xml
浏览文件 @
3b6dbf8f
...
...
@@ -33,7 +33,7 @@
INNER JOIN sys_role t2 ON t1.role_id = t2.id AND t2.deleted = 0
INNER JOIN sys_menu t3 ON t1.menu_id = t3.id
WHERE
type = '${@com.youlai.system.enums.MenuTypeEnum@BUTTON.getValue()}'
type = '${@com.youlai.system.
common.
enums.MenuTypeEnum@BUTTON.getValue()}'
<if
test=
"roleCode!=null and roleCode.trim() neq ''"
>
AND t2.`code` = #{roleCode}
</if>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录