2.4
使用的什么数据库?MySQL 8.x
使用的哪种方式部署?Docker Compose
在线站点地址No response
发生了什么?在本地开发插件,添加 Watch 类监控 Policy 新增事件,在 Wathch 类的 onAdd 方法中使用如下代码获取执行新增的操作人名
ReactiveSecurityContextHolder.getContext() .map(SecurityContext::getAuthentication) .map(Authentication::getName)
就是拿不到真正的用户名,debug 得到的是 Context0
我翻阅了几乎所有的插件库但没有找到使用过 ReactiveSecurityContextHolder.getContext() 的代码库作为参考。
而我在本地调试了好几个晚上了还是没拿到用户名,我感觉在JDK17的Mono与Flux中调试太困难了,而且插件代码也无法debug。
具体代码在 https://github.com/guicaiyue/halo-plugin/blob/main/src/main/java/run/halo/oss/GitHubPolicyHandler.java 这里。
我需要帮助,希望能通过 ReactiveSecurityContextHolder 获取用户名,而不是通过再加一个字段新增存储策略时填写用户名。
No response
附加信息No response