[根目录](../CLAUDE.md) > **jsowell-framework** # jsowell-framework 模块 核心框架模块,提供安全、权限、登录等基础服务。 --- ## 变更记录 (Changelog) ### 2026-02-03 11:32:30 - 初始化模块文档 - 识别 45 个核心类 --- ## 模块职责 - **安全框架**: Spring Security 配置 - **JWT 认证**: Token 生成与验证 - **权限控制**: 数据权限、接口权限 - **数据源管理**: 动态数据源、Druid 配置 - **AOP 切面**: 日志、限流、数据权限 - **异常处理**: 全局异常处理 --- ## 入口与启动 本模块为基础框架模块,无独立启动入口。 --- ## 对外接口 ### 核心服务 | 服务 | 说明 | |------|------| | `TokenService` | JWT Token 服务 | | `SysLoginService` | 登录服务 | | `SysPasswordService` | 密码服务 | | `PermissionService` | 权限服务 | | `UserDetailsServiceImpl` | 用户详情服务 | ### 配置类 | 配置类 | 说明 | |--------|------| | `SecurityConfig` | Spring Security 配置 | | `RedisConfig` | Redis 配置 | | `DruidConfig` | Druid 数据源配置 | | `MyBatisConfig` | MyBatis 配置 | | `ThreadPoolConfig` | 线程池配置 | ### AOP 切面 | 切面 | 说明 | |------|------| | `LogAspect` | 操作日志记录 | | `DataScopeAspect` | 数据权限过滤 | | `DataSourceAspect` | 动态数据源切换 | | `RateLimiterAspect` | 接口限流 | | `CostTimeAspect` | 耗时统计 | --- ## 关键依赖与配置 ### Maven 依赖 ```xml org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-aop com.alibaba druid-spring-boot-starter com.jsowell jsowell-system ``` --- ## 常见问题 (FAQ) ### Q: Token 过期如何处理? Token 有效期配置在 `application.yml` 的 `token.expireTime`,默认 1440 分钟 ### Q: 如何添加接口白名单? 在 `SecurityConfig` 中配置 `permitAllUrls` 或使用 `@Anonymous` 注解 ### Q: 数据权限如何配置? 使用 `@DataScope` 注解,配置 `deptAlias` 和 `userAlias` --- ## 相关文件清单 ``` jsowell-framework/ ├── src/main/java/com/jsowell/framework/ │ ├── aspectj/ # AOP 切面 │ │ ├── LogAspect.java │ │ ├── DataScopeAspect.java │ │ ├── DataSourceAspect.java │ │ ├── RateLimiterAspect.java │ │ └── CostTimeAspect.java │ ├── async/ # 异步处理 │ ├── config/ # 配置类 │ │ ├── SecurityConfig.java │ │ ├── RedisConfig.java │ │ ├── DruidConfig.java │ │ ├── MyBatisConfig.java │ │ └── ThreadPoolConfig.java │ ├── datasource/ # 动态数据源 │ ├── interceptor/ # 拦截器 │ ├── manager/ # 管理器 │ ├── security/ # 安全相关 │ │ ├── filter/ │ │ └── handle/ │ └── web/ │ ├── domain/ # 服务器信息 │ ├── exception/ # 异常处理 │ └── service/ # 核心服务 └── pom.xml ```