新增常见问题整理

This commit is contained in:
click33
2022-10-23 17:32:04 +08:00
parent 74fa68b40f
commit 71cdba53c3
2 changed files with 29 additions and 1 deletions

View File

@@ -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。
<!-- 目前能复现此问题的情况是:在项目中有配置类继承 `WebMvcConfigurationSupport` 时,再从 `SaServletFilter` 中调用
`SpringMVCUtil.getRequest()` 就会报错:`非Web上下文无法获取Request`。
解决方案是将 `extends WebMvcConfigurationSupport` 改为 `implements WebMvcConfigurer`。 -->
### Q我配置了 active-timeout 值,但是当我每次续签时 Redis 中的 ttl 并没有更新,是不是 bug 了?
不更新是正常现象,`active-timeout`不是根据 ttl 计算的是根据value值计算的value 记录的是该 Token 最后访问系统的时间戳,
每次验签时用:当前时间 - 时间戳 > active-timeout来判断这个 Token 是否已经超时。