在 sa-token.sso.is-check-sign=false 时,控制台将输出醒目的警告信息

This commit is contained in:
click33 2024-04-27 16:57:18 +08:00
parent 2c87e47b2b
commit 21a4f66595
3 changed files with 21 additions and 0 deletions

View File

@ -41,6 +41,14 @@ public class SaSsoManager {
}
public static void setConfig(SaSsoConfig config) {
SaSsoManager.config = config;
// 如果配置了 is-check-sign=false则打印一条警告日志
if ( ! config.getIsCheckSign()) {
System.err.println("-----------------------------------------------------------------------------");
System.err.println("警告信息:");
System.err.println("当前配置项 sa-token.sso.is-check-sign=false 代表跳过 SSO 参数签名校验");
System.err.println("此模式仅为方便本地调试使用,生产环境下请务必配置为 true 配置项默认为true");
System.err.println("-----------------------------------------------------------------------------");
}
}
}

View File

@ -143,6 +143,8 @@ public class SaSsoProcessor {
if(ssoTemplate.getSsoConfig().getIsCheckSign()) {
ssoTemplate.getSignTemplate().checkRequest(req,
paramName.client, paramName.ticket, paramName.ssoLogoutCall);
} else {
ssoTemplate.printNoCheckSignWarning();
}
// 3校验ticket获取 loginId
@ -215,6 +217,8 @@ public class SaSsoProcessor {
// step.1 校验签名
if(ssoTemplate.getSsoConfig().getIsCheckSign()) {
ssoTemplate.getSignTemplate().checkRequest(req, paramName.loginId);
} else {
ssoTemplate.printNoCheckSignWarning();
}
// step.2 单点注销
@ -398,6 +402,8 @@ public class SaSsoProcessor {
// 校验参数签名
if(ssoTemplate.getSsoConfig().getIsCheckSign()) {
ssoTemplate.getSignTemplate().checkRequest(req, paramName.loginId);
} else {
ssoTemplate.printNoCheckSignWarning();
}
// 注销当前应用端会话

View File

@ -612,6 +612,13 @@ public class SaSsoTemplate {
}
// sa-token.sso.is-check-sign=false 输出警告信息
public void printNoCheckSignWarning() {
System.err.println("警告信息:当前配置项 sa-token.sso.is-check-sign=false 已跳过参数签名校验," +
"此模式仅为方便本地调试使用,生产环境下请务必配置为 true 配置项默认为true");
}
// -------- 以下方法已废弃仅为兼容旧版本而保留 --------
/**