dromara / Sa-Token

一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!—— 登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0
https://sa-token.cc
Apache License 2.0
16.69k stars 2.62k forks source link

SaTokenListener 自定义全局侦听器加载顺序问题 #684

Open jiusun opened 2 months ago

jiusun commented 2 months ago

使用版本:

sa-token - 1.39.0 spring boot - 3.3.3

涉及的功能模块:

测试步骤:

疑问

SaTokenEventCenter.registerListener(new MySaTokenListener()); 手动注册的没有这个问题。 是否可以提高通过 @Component 注册的自定义侦听器的的优先级,或者是否有其他方法可以手动提高优先级。

click33 commented 2 months ago

你是什么需求,需要监听 doRegisterComponent 方法

jiusun commented 2 months ago

你是什么需求,需要监听 doRegisterComponent 方法

一开始的需求是希望集成redis后可以给key添加一个自定义的前缀,而不是使用 tokenName。 所以想着在组件注册后修改一下 StringRedisTemplateRedisTemplate<String, Object>,这样就不用自己去实现 SaTokenDao。 然后就发现 doRegisterComponent 并不能监听到 SaTokenDaoRedisJackson 的注册。


rediskey添加自定义前缀的功能我已经实现了。 但是通过@Component注册的全局侦听器确实会因为注册顺序导致错过部分事件。 所以在这里提问一下。这是bug吗?或者是故意这样做的?

click33 commented 2 months ago

现在没做顺序控制

JiangJiangYo commented 1 week ago

现在没做顺序控制

可以支持下吗