feat: 为插件的安装与卸载提供钩子函数支持

This commit is contained in:
click33
2025-02-24 16:41:35 +08:00
parent 048dadaff7
commit d65881b59a
16 changed files with 469 additions and 81 deletions

View File

@@ -16,6 +16,7 @@
package cn.dev33.satoken.jfinal;
import cn.dev33.satoken.dao.SaTokenDao;
import cn.dev33.satoken.dao.auto.SaTokenDaoBySessionFollowObject;
import cn.dev33.satoken.util.SaFoxUtil;
import com.jfinal.plugin.redis.Cache;
import com.jfinal.plugin.redis.Redis;
@@ -26,7 +27,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class SaTokenDaoRedis implements SaTokenDao {
public class SaTokenDaoRedis implements SaTokenDaoBySessionFollowObject {
protected Cache redis;
protected ISerializer serializer;

View File

@@ -29,7 +29,7 @@ import cn.dev33.satoken.json.SaJsonTemplate;
import cn.dev33.satoken.listener.SaTokenEventCenter;
import cn.dev33.satoken.listener.SaTokenListener;
import cn.dev33.satoken.log.SaLog;
import cn.dev33.satoken.plugin.SaTokenPluginLoader;
import cn.dev33.satoken.plugin.SaTokenPluginHolder;
import cn.dev33.satoken.same.SaSameTemplate;
import cn.dev33.satoken.serializer.SaSerializerTemplate;
import cn.dev33.satoken.sign.SaSignTemplate;
@@ -61,8 +61,9 @@ public class SaBeanInject {
* @param saTokenConfig 配置对象
*/
public SaBeanInject(
@Autowired(required = false) SaLog log,
@Autowired(required = false) SaTokenConfig saTokenConfig
@Autowired(required = false) SaLog log,
@Autowired(required = false) SaTokenConfig saTokenConfig,
@Autowired(required = false) SaTokenPluginHolder pluginHolder
){
if(log != null) {
SaManager.setLog(log);
@@ -71,7 +72,11 @@ public class SaBeanInject {
SaManager.setConfig(saTokenConfig);
}
// 初始化 Sa-Token SPI 插件
SaTokenPluginLoader.init();
if (pluginHolder == null) {
pluginHolder = SaTokenPluginHolder.instance;
}
pluginHolder.init();
SaTokenPluginHolder.instance = pluginHolder;
}
/**