完善v1.7.0文档

This commit is contained in:
shengzhang
2020-12-25 00:16:12 +08:00
parent d9836f00ca
commit 34f1e1f2db
14 changed files with 114 additions and 41 deletions

View File

@@ -1,7 +1,7 @@
# 无cookie模式
---
## 何为无cookie
### 何为无cookie
- 常规PC端鉴权方法一般由`cookie`进行
-`cookie`有两个特性1、可由后端控制写入2、每次请求自动提交
@@ -12,14 +12,14 @@
- 每次请求不能自动提交了,那就手动提交(难点在前端如何**将token传递到后端**,同时后端**将其读取出来**
## 将token传递到前端
### 将token传递到前端
1. 首先调用 `StpUtil.setLoginId(Object loginId)` 进行登录
2. 调用 `StpUtil.getTokenInfo()` 返回当前会话的token值
- 此方法返回一个Map有两个key`tokenName``tokenValue``token`的名称和`token`的值)
- 将此Map传递到前台,让前端人员将这两个值保存到本地
- 此方法返回一个对象,其有两个关键属性`tokenName``tokenValue``token`的名称和`token`的值)
- 将此对象传递到前台,让前端人员将这两个值保存到本地
## 前端将token提交到后端
### 前端将token提交到后端
1. 无论是app还是小程序其传递方式都大同小异
2. 那就是,将`token`塞到请求`header`里 ,格式为:`{tokenName: tokenValue}`
3. 以经典跨端框架`uni-app`为例:
@@ -76,7 +76,7 @@
- 你当然不能每个`ajax`都写这么一坨,因为这种重复代码都是要封装在一个函数里统一调用的
## 其它解决方案?
### 其它解决方案?
- 如果你对`cookie`非常了解,那你就会明白,所谓`cookie`,本质上就是一个特殊的`header`参数而已,
- 而既然它只是一个`header`参数,我们就能就能手动模拟实现它,从而完成鉴权操作
- 这其实是对无`cookie`模式的另一种解决方案,有兴趣的同学可以百度了解一下,在此暂不赘述