diff --git a/sa-token-doc/static/doc.css b/sa-token-doc/static/doc.css
index f223bc54..34039a8b 100644
--- a/sa-token-doc/static/doc.css
+++ b/sa-token-doc/static/doc.css
@@ -255,8 +255,8 @@ body{
@media screen and (min-width: 800px) {
[title=s-w],[title=s-w-sh]{max-width: 80%;}
}
-[title=s-w-sh]{display: inline-block; border: 1px #eee solid;}
-[title=w-100]{display: inline-block; border: 1px #eee solid; max-width: 100%;}
+.s-w-sh, [title=s-w-sh]{display: inline-block; border: 1px #eee solid;}
+.w-100, [title=w-100]{display: inline-block; border: 1px #eee solid; max-width: 100%;}
/* 鼠标悬浮时切换img */
.hover-change-img {border: 1px #eee solid; max-width: 100%; }
diff --git a/sa-token-doc/use/at-check.md b/sa-token-doc/use/at-check.md
index e39c2132..2bf9f05b 100644
--- a/sa-token-doc/use/at-check.md
+++ b/sa-token-doc/use/at-check.md
@@ -17,12 +17,12 @@
- `@SaCheckSign`:API 签名校验 —— 用于跨系统的 API 签名参数校验。
- `@SaIgnore`:忽略校验 —— 表示被修饰的方法或类无需进行注解鉴权和路由拦截器鉴权。
-Sa-Token 使用全局拦截器完成注解鉴权功能,为了不为项目带来不必要的性能负担,拦截器默认处于关闭状态
-因此,为了使用注解鉴权,**你必须手动将 Sa-Token 的全局拦截器注册到你项目中**
+Sa-Token 使用全局拦截器完成注解鉴权功能,为了不为项目带来不必要的性能负担,拦截器默认处于关闭状态。
+因此,为了使用注解鉴权,**你必须手动将 Sa-Token 的全局拦截器注册到你项目中**。
### 1、注册拦截器
-以`SpringBoot2.0`为例,新建配置类`SaTokenConfigure.java`
+以 SpringBoot2 项目为例,新建配置类`SaTokenConfigure.java`
``` java
@Configuration
diff --git a/sa-token-doc/use/jur-auth.md b/sa-token-doc/use/jur-auth.md
index 4424f1c3..dab5e66a 100644
--- a/sa-token-doc/use/jur-auth.md
+++ b/sa-token-doc/use/jur-auth.md
@@ -10,7 +10,7 @@
- 管理员账号访问:正常返回数据。
- 普通账号访问:权限不足,拒绝访问。
-
+
那么框架是如何判断,一个账号是否有权限访问某个接口的呢?
@@ -20,7 +20,7 @@
- 有,就让你通过。
- 没有?那么禁止访问!
-
+
所以现在问题的核心就是两个:
@@ -174,7 +174,7 @@ StpUtil.hasPermission("index.html"); // false
### 7、如何把权限精确到按钮级?
权限精确到按钮级的意思就是指:**权限范围可以控制到页面上的每一个按钮是否显示**。
-
+
思路:如此精确的范围控制只依赖后端已经难以完成,此时需要前端进行一定的逻辑判断。
diff --git a/sa-token-doc/use/login-auth.md b/sa-token-doc/use/login-auth.md
index af10bf6b..22ec0ecc 100644
--- a/sa-token-doc/use/login-auth.md
+++ b/sa-token-doc/use/login-auth.md
@@ -13,7 +13,7 @@
在整个流程中,Sa-Token 负责哪些部分呢? 下图可以帮助你理解:
-
+
如上图所示:**无论用户采用何种登录方式,本质上都是通过提交一定的认证信息,使系统可以定位到 Ta 的唯一标识 —— userId**。
@@ -76,7 +76,7 @@ public SaResult doLogin(String name, String pwd) {
- 如果校验通过,则:正常返回数据。
- 如果校验未通过,则:抛出异常,告知其需要先进行登录。
-
+
diff --git a/sa-token-doc/use/route-check.md b/sa-token-doc/use/route-check.md
index f036420e..196c1642 100644
--- a/sa-token-doc/use/route-check.md
+++ b/sa-token-doc/use/route-check.md
@@ -1,16 +1,17 @@
# 路由拦截鉴权
+假设我们有如下需求:*项目中所有接口均需要登录校验,只有 “登录接口” 本身对外开放*。
+
+如果给每个接口都手动加上注解鉴权,将会是一件比较麻烦的事情,这时候使用拦截器鉴权模式将大大降低我们的代码量。
+
+
+
+
+
+如上图所示,拦截器将拦截除登录以外的所以请求,并进行一道前置审核决定是否通过。
+
---
-假设我们有如下需求:
-> [!INFO| label:需求场景]
-> 项目中所有接口均需要登录认证,只有 “登录接口” 本身对外开放
-
-我们怎么实现呢?给每个接口加上鉴权注解?手写全局拦截器?似乎都不是非常方便。
-
-在这个需求中我们真正需要的是一种基于路由拦截的鉴权模式,那么在Sa-Token怎么实现路由拦截鉴权呢?
-
-
### 1、注册 Sa-Token 路由拦截器
以`SpringBoot2.0`为例,新建配置类`SaTokenConfigure.java`
@@ -35,7 +36,7 @@ public class SaTokenConfigure implements WebMvcConfigurer {
### 2、校验函数详解
自定义认证规则:`new SaInterceptor(handle -> StpUtil.checkLogin())` 是最简单的写法,代表只进行登录校验功能。
-我们可以往构造函数塞一个完整的 lambda 表达式,来定义详细的校验规则,例如:
+我们可以往构造函数塞一个完整的 lambda 函数,来定义详细的校验规则,例如:
``` java
@Configuration
diff --git a/sa-token-doc/use/session.md b/sa-token-doc/use/session.md
index dead0342..b8af57c6 100644
--- a/sa-token-doc/use/session.md
+++ b/sa-token-doc/use/session.md
@@ -24,7 +24,7 @@ SysUser user = (SysUser) StpUtil.getSession().get("user");
> 有关 Account-Session 与 Token-Session 的详细区别,可参考:[Session模型详解](/fun/session-model)
-### Account-Session
+### 2、Account-Session
有关 账号-Session 的 API 如下:
``` java
// 获取当前账号 id 的 Account-Session (必须是登录后才能调用)
@@ -44,7 +44,7 @@ StpUtil.getSessionBySessionId("xxxx-xxxx");
```
-### Token-Session
+### 3、Token-Session
有关 令牌-Session 的 API 如下:
``` java
// 获取当前 Token 的 Token-Session 对象
@@ -55,7 +55,7 @@ StpUtil.getTokenSessionByToken(token);
```
-### Custom-Session
+### 4、Custom-Session
自定义 Session 指的是以一个`特定的值`作为 SessionId 来分配的`Session`, 借助自定义Session,你可以为系统中的任意元素分配相应的session
例如以商品 id 作为 key 为每个商品分配一个Session,以便于缓存和商品相关的数据,其相关API如下:
``` java
@@ -73,7 +73,7 @@ SaSessionCustomUtil.deleteSessionById("goods-10001");
```
-### 在 Session 上存取值
+### 5、在 Session 上存取值
以上三种 Session 均为框架设计概念上的区分,实际上在获取它们时,返回的都是 SaSession 对象,你可以使用以下 API 在 SaSession 对象上存取值:
@@ -118,7 +118,7 @@ session.keys();
```
-### 其它操作
+### 6、其它操作
``` java
// 返回此 Session 的id
@@ -138,7 +138,7 @@ session.logout();
```
-### 避免与 HttpSession 混淆使用
+### 7、避免与 HttpSession 混淆使用
经常有同学会把 `SaSession` 与 `HttpSession` 进行混淆,例如:
``` java
@PostMapping("/resetPoints")
@@ -154,7 +154,7 @@ public void reset(HttpSession session) {
2. `HttpSession`并未被框架接管,在使用Sa-Token时,请在任何情况下均使用`SaSession`,不要使用`HttpSession`
-### 未登录场景下获取 Token-Session
+### 8、未登录场景下获取 Token-Session
默认场景下,只有登录后才能通过 `StpUtil.getTokenSession()` 获取 `Token-Session`。