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

This commit is contained in:
noear 2022-11-14 16:46:24 +08:00
parent 6b2060e447
commit 062af081f7
5 changed files with 100 additions and 27 deletions

View File

@ -10,7 +10,7 @@
<!-- 定义 Sa-Token 版本号 -->
<properties>
<sa-token.version>1.32.0</sa-token.version>
<solon.version>1.10.9</solon.version>
<solon.version>1.10.13</solon.version>
</properties>
<dependencies>
@ -21,6 +21,12 @@
<artifactId>solon-web</artifactId>
<version>${solon.version}</version>
</dependency>
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon.logging</artifactId>
<version>${solon.version}</version>
</dependency>
<!-- Sa-Token 权限认证, 在线文档https://sa-token.cc/ -->
<dependency>

View File

@ -0,0 +1,51 @@
package com.pj.satoken;
import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.config.SaTokenConfig;
import cn.dev33.satoken.log.SaLog;
import cn.dev33.satoken.log.SaLogForConsole;
import cn.dev33.satoken.util.StrFormatter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Sa-Token log 信息转接到 slf4j 接口
*
* @author noear 2022/11/14 created
*/
//@Component
public class SaLogForSlf4j extends SaLogForConsole implements SaLog {
static final Logger log = LoggerFactory.getLogger(SaLogForSlf4j.class);
/**
* 打印日志到控制台
*
* @param level 日志等级
* @param str 字符串
* @param args 参数列表
*/
public void println(int level, String str, Object... args) {
SaTokenConfig config = SaManager.getConfig();
if (config.getIsLog() && level >= config.getLogLevelInt()) {
switch (level) {
case trace:
log.trace(LOG_PREFIX + StrFormatter.format(str, args));
break;
case debug:
log.debug(LOG_PREFIX + StrFormatter.format(str, args));
break;
case info:
log.info(LOG_PREFIX + StrFormatter.format(str, args));
break;
case warn:
log.warn(LOG_PREFIX + StrFormatter.format(str, args));
break;
case error:
case fatal:
log.error(LOG_PREFIX + StrFormatter.format(str, args));
break;
}
}
}
}

View File

@ -1,6 +1,6 @@
package com.pj.satoken;
import org.noear.solon.core.util.PrintUtil;
import org.noear.solon.core.util.LogUtil;
import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.config.SaTokenConfig;
@ -18,16 +18,34 @@ import cn.dev33.satoken.util.StrFormatter;
public class SaLogForSolon extends SaLogForConsole implements SaLog {
/**
* 打印日志到控制台
* @param level 日志等级
* @param str 字符串
* @param args 参数列表
* 打印日志到控制台
*
* @param level 日志等级
* @param str 字符串
* @param args 参数列表
*/
public void println(int level, String str, Object... args) {
SaTokenConfig config = SaManager.getConfig();
if(config.getIsLog() && level >= config.getLogLevelInt()) {
PrintUtil.info(LOG_PREFIX + StrFormatter.format(str, args));
if (config.getIsLog() && level >= config.getLogLevelInt()) {
switch (level) {
case trace:
LogUtil.global().trace(LOG_PREFIX + StrFormatter.format(str, args));
break;
case debug:
LogUtil.global().debug(LOG_PREFIX + StrFormatter.format(str, args));
break;
case info:
LogUtil.global().info(LOG_PREFIX + StrFormatter.format(str, args));
break;
case warn:
LogUtil.global().warn(LOG_PREFIX + StrFormatter.format(str, args));
break;
case error:
case fatal:
LogUtil.global().error(LOG_PREFIX + StrFormatter.format(str, args));
break;
}
}
}
}

View File

@ -21,9 +21,8 @@
<jackson-datatype-jsr310.version>2.11.2</jackson-datatype-jsr310.version>
<servlet-api.version>3.1.0</servlet-api.version>
<thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
<solon.version>1.10.9</solon.version>
<solon-test.version>1.9.1</solon-test.version>
<noear-redisx.version>1.4.3</noear-redisx.version>
<solon.version>1.10.13</solon.version>
<noear-redisx.version>1.4.4</noear-redisx.version>
<jfinal.version>4.9.17</jfinal.version>
<jboot.version>3.14.4</jboot.version>
<commons-pool2.version>2.5.0</commons-pool2.version>
@ -154,7 +153,7 @@
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-test</artifactId>
<version>${solon-test.version}</version>
<version>${solon.version}</version>
</dependency>
<!-- redis pool -->

View File

@ -34,7 +34,7 @@ public class XPluginImp implements Plugin {
@Override
public void start(AopContext context) {
// Sa-Token 日志输出 Bean
context.getBeanAsyn(SaLog.class, bean -> {
context.getBeanAsync(SaLog.class, bean -> {
SaManager.setLog(bean);
});
@ -50,7 +50,7 @@ public class XPluginImp implements Plugin {
SaTokenConfig saTokenConfig = Solon.cfg().getBean("sa-token", SaTokenConfig.class);
SaManager.setConfig(saTokenConfig);
context.getBeanAsyn(SaTokenConfig.class, bean -> {
context.getBeanAsync(SaTokenConfig.class, bean -> {
SaManager.setConfig(bean);
});
@ -58,12 +58,12 @@ public class XPluginImp implements Plugin {
SaManager.setSaTokenContext(new SaContextForSolon());
// 注入Dao Bean
context.getBeanAsyn(SaTokenDao.class, bean -> {
context.getBeanAsync(SaTokenDao.class, bean -> {
SaManager.setSaTokenDao(bean);
});
// 注入二级上下文 Bean
context.getBeanAsyn(SaTokenSecondContextCreator.class, bean -> {
context.getBeanAsync(SaTokenSecondContextCreator.class, bean -> {
SaManager.setSaTokenSecondContext(bean.create());
});
@ -74,49 +74,48 @@ public class XPluginImp implements Plugin {
// 注入权限认证 Bean
context.getBeanAsyn(StpInterface.class, bean -> {
context.getBeanAsync(StpInterface.class, bean -> {
SaManager.setStpInterface(bean);
});
// 注入持久化 Bean
context.getBeanAsyn(SaTokenDao.class, bean -> {
context.getBeanAsync(SaTokenDao.class, bean -> {
SaManager.setSaTokenDao(bean);
});
// 临时令牌验证模块 Bean
context.getBeanAsyn(SaTempInterface.class, bean -> {
context.getBeanAsync(SaTempInterface.class, bean -> {
SaManager.setSaTemp(bean);
});
// Sa-Token-Id 身份凭证模块 Bean
context.getBeanAsyn(SaIdTemplate.class, bean -> {
context.getBeanAsync(SaIdTemplate.class, bean -> {
SaIdUtil.saIdTemplate = bean;
});
// Sa-Token Same-Token 模块 Bean
context.getBeanAsyn(SaSameTemplate.class, bean -> {
context.getBeanAsync(SaSameTemplate.class, bean -> {
SaManager.setSaSameTemplate(bean);
});
// Sa-Token Http Basic 认证模块 Bean
context.getBeanAsyn(SaBasicTemplate.class, bean -> {
context.getBeanAsync(SaBasicTemplate.class, bean -> {
SaBasicUtil.saBasicTemplate = bean;
});
// Sa-Token JSON 转换器 Bean
context.getBeanAsyn(SaJsonTemplate.class, bean -> {
context.getBeanAsync(SaJsonTemplate.class, bean -> {
SaManager.setSaJsonTemplate(bean);
});
// Sa-Token 参数签名算法 Bean
context.getBeanAsyn(SaSignTemplate.class, bean -> {
context.getBeanAsync(SaSignTemplate.class, bean -> {
SaManager.setSaSignTemplate(bean);
});
// 自定义 StpLogic 对象
context.getBeanAsyn(StpLogic.class, bean -> {
context.getBeanAsync(StpLogic.class, bean -> {
StpUtil.setStpLogic(bean);
});
}
}