From 71cdba53c3732136de9907d95a3aa1af2e918dd7 Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Sun, 23 Oct 2022 17:32:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B8=B8=E8=A7=81=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-doc/more/common-questions.md | 28 +++++++++++++++++++++++++++ sa-token-doc/use/at-check.md | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/sa-token-doc/more/common-questions.md b/sa-token-doc/more/common-questions.md index 244bc2c9..a74367cd 100644 --- a/sa-token-doc/more/common-questions.md +++ b/sa-token-doc/more/common-questions.md @@ -162,6 +162,19 @@ public class SaTokenApplication { 如果不一致,请排查: - 可能1:项目中还存在代码配置,而代码配置会覆盖 `application.yml` 中配置,详细参考:[框架配置](/use/config)。 - 可能2:你的配置文件名字错误,SpringBoot 项目正常情况下配置文件名称应该是:`application.yml` 或 `application.properties`。 +- 可能3:可能是你的配置前缀不对,或者配置缩进不对: +``` yaml +# 错误示例,多加了 spring 前缀 +spring: + sa-token: + token-name: xxx-token +# 错误示例,缩进不对 +sa-token: +token-name: xxx-token +# 正确的应该是以 sa-token 开头 +sa-token: + token-name: xxx-token +``` ### Q:有时候我不加 Token 也可以通过鉴权,请问是怎么回事? @@ -174,6 +187,21 @@ public class SaTokenApplication { - 可能2:你打开了代码热刷新模式,先存进去的对象,热刷新后再取出,会报错,关闭热刷新即可解决。 +### Q:在 SaServletFilter 中调用 SpringMVCUtil.getRequest() 报错:非Web上下文无法获取Request? + +- 可能1:项目中有配置类继承了: `extends WebMvcConfigurationSupport`。 +- 可能2:项目中有配置类添加了注解: `@EnableWebMvc`。 + +解决方案:不要加 `@EnableWebMvc`,不要 `extends WebMvcConfigurationSupport`,要 `implements WebMvcConfigurer` + +如果不是以上原因,可以加群提供复现demo。 + + + + ### Q:我配置了 active-timeout 值,但是当我每次续签时 Redis 中的 ttl 并没有更新,是不是 bug 了? 不更新是正常现象,`active-timeout`不是根据 ttl 计算的,是根据value值计算的,value 记录的是该 Token 最后访问系统的时间戳, 每次验签时用:当前时间 - 时间戳 > active-timeout,来判断这个 Token 是否已经超时。 diff --git a/sa-token-doc/use/at-check.md b/sa-token-doc/use/at-check.md index bfc6f9da..a4ff0a54 100644 --- a/sa-token-doc/use/at-check.md +++ b/sa-token-doc/use/at-check.md @@ -35,7 +35,7 @@ public class SaTokenConfigure implements WebMvcConfigurer { ``` 保证此类被`springboot`启动类扫描到即可 -!> 注意:如果在高版本 `SpringBoot (≥2.6.x)` 下注册拦截器失效,则需要额外添加 `@EnableWebMvc` 注解才可以使用。 + ### 2、使用注解鉴权