sa-token-solon-plugin:升级 solon 为 1.8.0

This commit is contained in:
noear
2022-05-24 12:36:11 +08:00
parent ce2799cc8e
commit e0b3b63e1d
3 changed files with 35 additions and 42 deletions

View File

@@ -18,7 +18,7 @@
<dependency> <dependency>
<groupId>org.noear</groupId> <groupId>org.noear</groupId>
<artifactId>solon-web</artifactId> <artifactId>solon-web</artifactId>
<version>1.7.5</version> <version>1.8.0</version>
</dependency> </dependency>
<!-- Sa-Token 权限认证, 在线文档http://sa-token.dev33.cn/ --> <!-- Sa-Token 权限认证, 在线文档http://sa-token.dev33.cn/ -->

View File

@@ -20,7 +20,7 @@
<dependency> <dependency>
<groupId>org.noear</groupId> <groupId>org.noear</groupId>
<artifactId>solon</artifactId> <artifactId>solon</artifactId>
<version>1.7.5</version> <version>1.8.0</version>
</dependency> </dependency>
<dependency> <dependency>

View File

@@ -1,16 +1,11 @@
package cn.dev33.satoken.solon; package cn.dev33.satoken.solon;
import org.noear.solon.Solon; import org.noear.solon.Solon;
import org.noear.solon.SolonApp; import org.noear.solon.core.AopContext;
import org.noear.solon.core.Aop;
import org.noear.solon.core.Plugin; import org.noear.solon.core.Plugin;
import cn.dev33.satoken.SaManager; import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.annotation.SaCheckBasic; import cn.dev33.satoken.annotation.*;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.annotation.SaCheckSafe;
import cn.dev33.satoken.basic.SaBasicTemplate; import cn.dev33.satoken.basic.SaBasicTemplate;
import cn.dev33.satoken.basic.SaBasicUtil; import cn.dev33.satoken.basic.SaBasicUtil;
import cn.dev33.satoken.config.SaTokenConfig; import cn.dev33.satoken.config.SaTokenConfig;
@@ -35,12 +30,12 @@ import cn.dev33.satoken.temp.SaTempInterface;
public class XPluginImp implements Plugin { public class XPluginImp implements Plugin {
@Override @Override
public void start(SolonApp app) { public void start(AopContext context) {
Aop.context().beanAroundAdd(SaCheckPermission.class, SaTokenMethodInterceptor.INSTANCE); context.beanAroundAdd(SaCheckPermission.class, SaTokenMethodInterceptor.INSTANCE);
Aop.context().beanAroundAdd(SaCheckRole.class, SaTokenMethodInterceptor.INSTANCE); context.beanAroundAdd(SaCheckRole.class, SaTokenMethodInterceptor.INSTANCE);
Aop.context().beanAroundAdd(SaCheckLogin.class, SaTokenMethodInterceptor.INSTANCE); context.beanAroundAdd(SaCheckLogin.class, SaTokenMethodInterceptor.INSTANCE);
Aop.context().beanAroundAdd(SaCheckSafe.class, SaTokenMethodInterceptor.INSTANCE); context.beanAroundAdd(SaCheckSafe.class, SaTokenMethodInterceptor.INSTANCE);
Aop.context().beanAroundAdd(SaCheckBasic.class, SaTokenMethodInterceptor.INSTANCE); context.beanAroundAdd(SaCheckBasic.class, SaTokenMethodInterceptor.INSTANCE);
//集成初始化 //集成初始化
@@ -51,67 +46,65 @@ public class XPluginImp implements Plugin {
SaTokenConfig saTokenConfig = Solon.cfg().getBean("sa-token", SaTokenConfig.class); SaTokenConfig saTokenConfig = Solon.cfg().getBean("sa-token", SaTokenConfig.class);
SaManager.setConfig(saTokenConfig); SaManager.setConfig(saTokenConfig);
Aop.getAsyn(SaTokenConfig.class, bw -> { context.getWrapAsyn(SaTokenConfig.class, bw -> {
SaManager.setConfig(bw.raw()); SaManager.setConfig(bw.raw());
}); });
// 注入Dao Bean // 注入Dao Bean
Aop.getAsyn(SaTokenDao.class, bw -> { context.getWrapAsyn(SaTokenDao.class, bw -> {
SaManager.setSaTokenDao(bw.raw()); SaManager.setSaTokenDao(bw.raw());
}); });
// 注入二级上下文 Bean // 注入二级上下文 Bean
Aop.getAsyn(SaTokenSecondContextCreator.class, bw->{ context.getWrapAsyn(SaTokenSecondContextCreator.class, bw->{
SaTokenSecondContextCreator raw = bw.raw(); SaTokenSecondContextCreator raw = bw.raw();
SaManager.setSaTokenSecondContext(raw.create()); SaManager.setSaTokenSecondContext(raw.create());
}); });
// 注入侦听器 Bean // 注入侦听器 Bean
Aop.getAsyn(SaTokenListener.class, bw->{ context.getWrapAsyn(SaTokenListener.class, bw->{
SaManager.setSaTokenListener(bw.raw()); SaManager.setSaTokenListener(bw.raw());
}); });
// 注入权限认证 Bean // 注入权限认证 Bean
Aop.getAsyn(StpInterface.class, bw->{ context.getWrapAsyn(StpInterface.class, bw->{
SaManager.setStpInterface(bw.raw()); SaManager.setStpInterface(bw.raw());
}); });
// 注入持久化 Bean // 注入持久化 Bean
Aop.getAsyn(SaTokenDao.class, bw->{ context.getWrapAsyn(SaTokenDao.class, bw->{
SaManager.setSaTokenDao(bw.raw()); SaManager.setSaTokenDao(bw.raw());
}); });
// 临时令牌验证模块 Bean // 临时令牌验证模块 Bean
Aop.getAsyn(SaTempInterface.class, bw->{ context.getWrapAsyn(SaTempInterface.class, bw->{
SaManager.setSaTemp(bw.raw()); SaManager.setSaTemp(bw.raw());
}); });
// Sa-Token-Id 身份凭证模块 Bean // Sa-Token-Id 身份凭证模块 Bean
Aop.getAsyn(SaIdTemplate.class, bw->{ context.getWrapAsyn(SaIdTemplate.class, bw->{
SaIdUtil.saIdTemplate = bw.raw(); SaIdUtil.saIdTemplate = bw.raw();
}); });
// Sa-Token Http Basic 认证模块 Bean // Sa-Token Http Basic 认证模块 Bean
Aop.getAsyn(SaBasicTemplate.class, bw->{ context.getWrapAsyn(SaBasicTemplate.class, bw->{
SaBasicUtil.saBasicTemplate = bw.raw(); SaBasicUtil.saBasicTemplate = bw.raw();
}); });
// Sa-Token JSON 转换器 Bean // Sa-Token JSON 转换器 Bean
Aop.getAsyn(SaJsonTemplate.class, bw->{ context.getWrapAsyn(SaJsonTemplate.class, bw->{
SaManager.setSaJsonTemplate(bw.raw()); SaManager.setSaJsonTemplate(bw.raw());
}); });
// Sa-Token 参数签名算法 Bean // Sa-Token 参数签名算法 Bean
Aop.getAsyn(SaSignTemplate.class, bw->{ context.getWrapAsyn(SaSignTemplate.class, bw->{
SaManager.setSaSignTemplate(bw.raw()); SaManager.setSaSignTemplate(bw.raw());
}); });
// 自定义 StpLogic 对象 // 自定义 StpLogic 对象
Aop.getAsyn(StpLogic.class, bw->{ context.getWrapAsyn(StpLogic.class, bw->{
StpUtil.setStpLogic(bw.raw()); StpUtil.setStpLogic(bw.raw());
}); });
} }
} }