Skip to content

Develop - #12

Merged
chuckLcq merged 19 commits into
masterfrom
develop
Jul 28, 2026
Merged

Develop#12
chuckLcq merged 19 commits into
masterfrom
develop

Conversation

@chuckLcq

Copy link
Copy Markdown
Contributor

No description provided.

lchqJava added 19 commits June 22, 2026 22:38
- 新增 LoginInfoEntity 类用于存储登录相关信息
- 添加登录时间、IP、地点、设备、浏览器、操作系统、语言等属性
- 在 UserContextEntity 中增加 hiddenFields 属性
- 实现列级字段可见性配置功能
- 支持按资源名称配置隐藏字段列表
- 使用 HashMap 默认初始化隐藏字段映射
….security

- 更新application.yml中的配置项从oauth.resource到security
- 修改OauthResourceProperties类的@ConfigurationProperties前缀为structure.security
- 保持原有的资源ID和未认证路径配置功能不变
- 统一安全相关配置的命名空间
- 引入ResultVO、TypeReference和HttpResponse相关依赖
- 修改远程用户查询逻辑以解析ResultVO包装的响应数据
- 添加响应体调试日志输出
- 实现ResultVO.success字段验证和失败情况处理
- 从ResultVO中提取实际的用户数据进行上下文设置
- 添加用户名字段
- 添加昵称字段
- 添加头像字段
- 添加邮箱字段
- 添加手机号字段
- 完善用户信息存储结构
- 将 structure.version 从 1.4.0 升级到 1.4.2
- 保持其他依赖版本不变
- 添加获取部门ID的工具方法 getDeptId()
- 添加获取部门ID集合的工具方法 getDeptIds()
- 添加获取长整型部门ID集合的工具方法 getLoneDeptIds()
- 添加获取长整型部门ID的工具方法 getLongDeptId()
- 添加获取用户ID的工具方法 getUserId()
- 添加获取长整型用户ID的工具方法 getLongUserId()
- 添加获取用户角色集合的工具方法 getRoles()
- 添加获取长整型角色集合的工具方法 getLongRoles()
- 添加获取用户权限集合的工具方法 getPermissions()
- 添加获取长整型权限集合的工具方法 getLongPermissions()
- 添加了 Spring Order 注解来明确过滤器执行顺序
- 将过滤器优先级设置为 100 确保正确的过滤链顺序
- 将loadUser方法的参数从userId改为sessionId
- 更新方法注释中的参数名称描述
- 调整相关文档说明以匹配新的参数命名
- 新增 IUserContextCache 接口定义用户上下文缓存契约
- 实现 InMemoryUserContextCache 提供内存级别的用户信息缓存
- 在 UserContextAutoConfiguration 中注册缓存 Bean
- 修改 UserContextFilter 集成缓存机制,支持从缓存获取用户信息
- 更新 UserContextEntity 添加会话ID、令牌等相关字段
- 修改 IUserProvider 接口参数从 sessionId 改为 userId
- 实现缓存验证逻辑,检查缓存中用户信息是否过期或不一致时刷新
- 将 structure.version 从 1.4.0-SNAPSHOT 更新到 1.4.2
- 保持其他依赖版本配置不变
- 添加了多个安全样例项目的抽象集成测试基类
- 配置了测试环境的应用程序配置文件
- 添加了Basic Auth、Context、Core和OAuth资源控制器的测试用例
- 移除了远程权限模式测试以简化权限验证逻辑
- 添加了GitHub Actions工作流用于运行测试
- 修复了用户上下文过滤器中的HTTP请求类型转换问题
- 更新了权限拒绝和未登录用户的响应状态码处理
- 在应用配置中添加了健康检查接口的匿名访问权限
- 重构 BasicAuthControllerTest 测试类,使用 @nested 注解组织认证、用户信息、权限控制等测试组
- 新增多种认证场景测试,包括正确凭证、错误密码、不存在用户、无效授权头等情况
- 重构 ContextEndpointTest 和 CoreEndpointTest,增加登录登出、用户上下文、权限验证等功能测试
- 在 JwtSecurityTest 中补充登出功能及各种边界情况登录测试,如空用户名、空密码、不存在用户等
- 使用 Nested 测试结构提高测试代码可读性和维护性
- 修复了 ContextUserProvider 中 authorities 为 null 时的空指针异常
- 添加了对 authorities 集合的空值检查和默认空流处理
- 更新了 StructureAuthUser 的 getAuthorities 方法返回空集合而非 null
- 改进了类文档注释,明确说明提供者功能范围和字段填充情况
- 添加了关于远程用户提供者的配置说明和使用建议
- 移除 structure-security-dependencies 模块中的重复配置
- 将模块设置为继承自父模块 structure-dependencies
- 更新结构版本号从 1.4.0-SNAPSHOT 到 1.4.4
- 在测试控制器中添加用户上下文获取和日志记录功能
- 引入 UserContext 和相关实体类用于用户信息管理
- 添加 SLF4J 日志框架支持用于请求跟踪
# Conflicts:
#	structure-security-samples/pom.xml
- 修改 StructureResourceAccessTokenConverter 将 JWT claims 还原为 StructureAuthUser
- 更新 AutoResourceConfiguration 使用自定义认证转换器并避免 Bean 冲突
- 统一 JWT 载荷结构,使用 AuthConstant.USER_ID 替代 "id" 字段
- 修复 SecurityUtils.getUserId 方法,优先直接读取 StructureAuthUser 类型
- 配置 UserContextFilter 在认证过滤器之后执行,解决 SecurityContext 为空问题
- 禁用 UserContextFilter 的 Servlet 层自动注册,避免重复执行
- 修复 UserContextFilter 缓存命中时未设置 ThreadLocal 的问题
- 更新版本号至 1.1.3-SNAPSHOT
- 将 revision 从 1.1.3-SNAPSHOT 更新到 1.1.5-SNAPSHOT
- 将 revision 从 1.1.3-SNAPSHOT 更新到 1.1.5-SNAPSHOT
- 合并构建安装依赖和运行测试为单一步骤
- 移除冗余的工作目录设置
- 更新工作目录路径为 structure-security-dependencies
- 删除未使用的发布测试结果步骤
@chuckLcq
chuckLcq merged commit 4db0105 into master Jul 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants