mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-04-05 17:37:53 +08:00
优化文档
This commit is contained in:
parent
5cbd242db1
commit
20140cf8f5
@ -490,6 +490,9 @@
|
||||
<a href="https://gitee.com/dromara/stream-query" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/stream-query.png" msg="允许完全摆脱 Mapper 的 mybatis-plus 体验!封装 stream 和 lambda 操作进行数据返回处理。">
|
||||
</a>
|
||||
<a href="https://wind.kim/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/SMSAggregation.png" msg="短信聚合工具,让发送短信变的更简单。">
|
||||
</a>
|
||||
<a href="https://dromara.org/zh/projects/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/dromara.png" msg="让每一位开源爱好者,体会到开源的快乐。">
|
||||
</a>
|
||||
|
@ -69,7 +69,8 @@ Sa-Token 的部分 API 只能在 Web 上下文中才能调用,例如:`StpUti
|
||||
- 可能2:前端提交了 Token,但是参数名不对。默认参数名是 `satoken`,可通过配置文件 `sa-token.token-name: satoken` 来更改。
|
||||
- 可能3:前端提交了 Token,但是你配置了框架不读取,比如说你配置了 `is-read-header=false`(关闭header读取),此时你再从 header 里提交token,框架就无法读取到。
|
||||
- 可能4:前端提交了 Token,但是 Token前缀 不对,可参考:[自定义 Token 前缀](/up/token-prefix)
|
||||
- 可能5:你使用了 Nginx 反向代理,而且配置了 自定义Token名称,而且自定义的名称还带有下划线(比如 shop_token),而且还是你的项目还是从 Header头提交Token的,此时 Nginx 默认会吞掉你的下划线参数,可参考:[nginx做转发时,带下划线的header参数丢失](https://blog.csdn.net/zfw_666666/article/details/124420828)
|
||||
- 可能5:你的项目属于前后端分离架构,此时浏览器默认不自动提交 Cookie,参考:[前后端分离](/up/not-cookie)
|
||||
- 可能6:你使用了 Nginx 反向代理,而且配置了 自定义Token名称,而且自定义的名称还带有下划线(比如 shop_token),而且还是你的项目还是从 Header头提交Token的,此时 Nginx 默认会吞掉你的下划线参数,可参考:[nginx做转发时,带下划线的header参数丢失](https://blog.csdn.net/zfw_666666/article/details/124420828)
|
||||
|
||||
**如果是:Token无效:6ad93254-b286-4ec9-9997-4430b0341ca0**
|
||||
- 可能1:前端提交的 token 是乱填的,或者从别的项目拷过来的,或者多个项目一起开发时彼此的 Token 串项目了。
|
||||
|
@ -9,7 +9,7 @@
|
||||
### 1、新建`H5Controller`开放接口
|
||||
``` java
|
||||
/**
|
||||
* 前后端分离架构下集成SSO所需的代码
|
||||
* 前后端分离架构下集成SSO所需的接口
|
||||
*/
|
||||
@RestController
|
||||
public class H5Controller {
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
---
|
||||
|
||||
### 1、解决思路?
|
||||
### 1、设计思路
|
||||
|
||||
首先我们分析一下多个系统之间,为什么无法同步登录状态?
|
||||
1. 前端的 `Token` 无法在多个系统下共享。
|
||||
|
@ -1,7 +1,7 @@
|
||||
# [记住我] 模式
|
||||
---
|
||||
|
||||
如图所示,一般网站的登录界面都会有一个 **`[记住我]`** 按钮,当你勾选它后,即使你关闭浏览器再次打开网站,也依然会处于登录状态,无须重复验证密码:
|
||||
如图所示,一般网站的登录界面都会有一个 **`[记住我]`** 按钮,当你勾选它登录后,即使你关闭浏览器再次打开网站,也依然会处于登录状态,无须重复验证密码:
|
||||
|
||||

|
||||
|
||||
|
@ -115,7 +115,7 @@ StpUtil.checkSafe("shop");
|
||||
|
||||
|
||||
### 使用注解进行二级认证
|
||||
在一个方法上使用 `@SaCheckSafe` 注解,可以在代码进入此方法之前进行一次二级认证
|
||||
在一个方法上使用 `@SaCheckSafe` 注解,可以在代码进入此方法之前进行一次二级认证校验
|
||||
``` java
|
||||
// 二级认证:必须二级认证之后才能进入该方法
|
||||
@SaCheckSafe
|
||||
|
@ -175,8 +175,8 @@ stop() 与 back() 函数的区别在于:
|
||||
// 进入 free 独立作用域
|
||||
SaRouter.match("/**").free(r -> {
|
||||
SaRouter.match("/a/**").check(/* --- */);
|
||||
SaRouter.match("/a/**").check(/* --- */).stop();
|
||||
SaRouter.match("/a/**").check(/* --- */);
|
||||
SaRouter.match("/b/**").check(/* --- */).stop();
|
||||
SaRouter.match("/c/**").check(/* --- */);
|
||||
});
|
||||
// 执行 stop() 函数跳出 free 后继续执行下面的 match 匹配
|
||||
SaRouter.match("/**").check(/* --- */);
|
||||
|
Loading…
Reference in New Issue
Block a user