From d4ff8df5b46d5e4f3b6cb1ba4915916e58cfcddd Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Sun, 14 May 2023 18:51:13 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=95=B4=E7=90=86=20demo=20?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=A4=B9=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sa-token-demo-oauth2-client/.gitignore | 0 .../sa-token-demo-oauth2-client/pom.xml | 0 .../com/pj/SaOAuth2ClientApplication.java | 0 .../pj/oauth2/SaOAuthClientController.java | 0 .../src/main/java/com/pj/utils/SoMap.java | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/templates/index.html | 0 .../sa-token-demo-oauth2-server/.gitignore | 0 .../sa-token-demo-oauth2-server/pom.xml | 0 .../com/pj/SaOAuth2ServerApplication.java | 0 .../pj/oauth2/SaOAuth2ServerController.java | 0 .../com/pj/oauth2/SaOAuth2TemplateImpl.java | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/templates/confirm.html | 0 .../src/main/resources/templates/login.html | 0 sa-token-doc/oauth2/oauth2-server.md | 4 +- sa-token-doc/sso/readme.md | 6 +- sa-token-doc/sso/sso-h5.md | 6 +- sa-token-doc/sso/sso-pro.md | 2 +- sa-token-doc/sso/sso-questions.md | 3 +- sa-token-doc/sso/sso-server.md | 4 +- sa-token-doc/sso/sso-type1.md | 2 +- sa-token-doc/sso/sso-type2.md | 2 +- sa-token-doc/sso/sso-type3.md | 2 +- sa-token-doc/start/download.md | 79 +++++++++++++------ sa-token-doc/start/solon-example.md | 8 +- sa-token-doc/start/webflux-example.md | 2 +- 27 files changed, 78 insertions(+), 42 deletions(-) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/.gitignore (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/pom.xml (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/src/main/java/com/pj/SaOAuth2ClientApplication.java (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/src/main/java/com/pj/oauth2/SaOAuthClientController.java (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/src/main/java/com/pj/utils/SoMap.java (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/src/main/resources/application.yml (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/src/main/resources/templates/index.html (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/.gitignore (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/pom.xml (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/java/com/pj/SaOAuth2ServerApplication.java (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2ServerController.java (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2TemplateImpl.java (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/resources/application.yml (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/resources/templates/confirm.html (100%) rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/resources/templates/login.html (100%) diff --git a/sa-token-demo/sa-token-demo-oauth2-client/.gitignore b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/.gitignore similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-client/.gitignore rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/.gitignore diff --git a/sa-token-demo/sa-token-demo-oauth2-client/pom.xml b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/pom.xml similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-client/pom.xml rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/pom.xml diff --git a/sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/SaOAuth2ClientApplication.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/SaOAuth2ClientApplication.java similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/SaOAuth2ClientApplication.java rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/SaOAuth2ClientApplication.java diff --git a/sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/oauth2/SaOAuthClientController.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/oauth2/SaOAuthClientController.java similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/oauth2/SaOAuthClientController.java rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/oauth2/SaOAuthClientController.java diff --git a/sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/utils/SoMap.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/utils/SoMap.java similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/utils/SoMap.java rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/utils/SoMap.java diff --git a/sa-token-demo/sa-token-demo-oauth2-client/src/main/resources/application.yml b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/resources/application.yml similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-client/src/main/resources/application.yml rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/resources/application.yml diff --git a/sa-token-demo/sa-token-demo-oauth2-client/src/main/resources/templates/index.html b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/resources/templates/index.html similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-client/src/main/resources/templates/index.html rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/resources/templates/index.html diff --git a/sa-token-demo/sa-token-demo-oauth2-server/.gitignore b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/.gitignore similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-server/.gitignore rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/.gitignore diff --git a/sa-token-demo/sa-token-demo-oauth2-server/pom.xml b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/pom.xml similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-server/pom.xml rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/pom.xml diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/SaOAuth2ServerApplication.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/SaOAuth2ServerApplication.java similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/SaOAuth2ServerApplication.java rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/SaOAuth2ServerApplication.java diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2ServerController.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2ServerController.java similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2ServerController.java rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2ServerController.java diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2TemplateImpl.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2TemplateImpl.java similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2TemplateImpl.java rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2TemplateImpl.java diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/application.yml b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/application.yml similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/application.yml rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/application.yml diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/templates/confirm.html b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/templates/confirm.html similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/templates/confirm.html rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/templates/confirm.html diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/templates/login.html b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/templates/login.html similarity index 100% rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/templates/login.html rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/templates/login.html diff --git a/sa-token-doc/oauth2/oauth2-server.md b/sa-token-doc/oauth2/oauth2-server.md index dd2f1cee..d7c11800 100644 --- a/sa-token-doc/oauth2/oauth2-server.md +++ b/sa-token-doc/oauth2/oauth2-server.md @@ -183,8 +183,8 @@ http://sa-oauth-server.com:8001/oauth2/token?grant_type=authorization_code&clien ### 5、运行官方示例 以上代码只是简单模拟了一下OAuth2.0的授权流程,现在,我们运行一下官方示例,里面有制作好的UI界面 -- OAuth2-Server端: `/sa-token-demo/sa-token-demo-oauth2-server/` [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-oauth2-server)
-- OAuth2-Client端: `/sa-token-demo/sa-token-demo-oauth2-client/` [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-oauth2-client)
+- OAuth2-Server端: `/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/` [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server)
+- OAuth2-Client端: `/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/` [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client)
依次启动`OAuth2-Server` 与 `OAuth2-Client`,然后从浏览器访问:[http://sa-oauth-client.com:8002](http://sa-oauth-client.com:8002) diff --git a/sa-token-doc/sso/readme.md b/sa-token-doc/sso/readme.md index 1f2eb104..39ff5a14 100644 --- a/sa-token-doc/sso/readme.md +++ b/sa-token-doc/sso/readme.md @@ -19,9 +19,9 @@ Sa-Token-SSO 由简入难划分为三种模式,解决不同架构下的 SSO | 系统架构 | 采用模式 | 简介 | 文档链接 | | :-------- | :-------- | :-------- | :-------- | -| 前端同域 + 后端同 Redis | 模式一 | 共享 Cookie 同步会话 | [文档](/sso/sso-type1)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso1-client) | -| 前端不同域 + 后端同 Redis | 模式二 | URL重定向传播会话 | [文档](/sso/sso-type2)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso2-client) | -| 前端不同域 + 后端不同 Redis | 模式三 | Http请求获取会话 | [文档](/sso/sso-type3)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso3-client) | +| 前端同域 + 后端同 Redis | 模式一 | 共享 Cookie 同步会话 | [文档](/sso/sso-type1)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso1-client) | +| 前端不同域 + 后端同 Redis | 模式二 | URL重定向传播会话 | [文档](/sso/sso-type2)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso2-client) | +| 前端不同域 + 后端不同 Redis | 模式三 | Http请求获取会话 | [文档](/sso/sso-type3)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso3-client) | 1. 前端同域:就是指多个系统可以部署在同一个主域名之下,比如:`c1.domain.com`、`c2.domain.com`、`c3.domain.com`。 diff --git a/sa-token-doc/sso/sso-h5.md b/sa-token-doc/sso/sso-h5.md index 85ee28d9..6f4f2eb6 100644 --- a/sa-token-doc/sso/sso-h5.md +++ b/sa-token-doc/sso/sso-h5.md @@ -49,7 +49,7 @@ public class H5Controller { ``` ### 2、增加跨域过滤器`CorsFilter.java` -源码详见:[CorsFilter.java](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso2-client/src/main/java/com/pj/h5/CorsFilter.java), +源码详见:[CorsFilter.java](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso2-client/src/main/java/com/pj/h5/CorsFilter.java), 将其复制到项目中即可 ### 3、新建前端项目 @@ -97,7 +97,7 @@ public class H5Controller { ``` ### 4、添加登录处理文件`sso-login.html` -源码详见:[sso-login.html](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso-client-h5/sso-login.html), +源码详见:[sso-login.html](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso-client-h5/sso-login.html), 将其复制到项目中即可,与`index.html`一样放在根目录下 @@ -112,7 +112,7 @@ public class H5Controller { 由于集成代码与 Client 端类似,这里暂不贴详细代码,我们可以下载官方仓库,里面有搭建好的demo -使用前端ide导入项目 `/sa-token-demo/sa-token-demo-sso-server-h5`,浏览器访问 `sso-auth.html` 页面: +使用前端ide导入项目 `/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso-server-h5`,浏览器访问 `sso-auth.html` 页面: ![sso-type2-server-h5-auth.png](https://oss.dev33.cn/sa-token/doc/sso/sso-type2-server-h5-auth.png 's-w-sh') diff --git a/sa-token-doc/sso/sso-pro.md b/sa-token-doc/sso/sso-pro.md index d64cec21..a6ffffde 100644 --- a/sa-token-doc/sso/sso-pro.md +++ b/sa-token-doc/sso/sso-pro.md @@ -10,7 +10,7 @@ 比如:用户账号增删改查维护、登录日志统计、新增用户数据报表、新增 Client 应用接入域名配置……等等, 仍需要大量的开发时间。 -为此,我们特意准备了项目:[[Sa-Sso-Pro 单点登录商业版]](http://sa-pro.dev33.cn/index.html?hmsr=sa-token), +为此,我们特意准备了项目:[[ Sa-Sso-Pro 单点登录商业版 ]](http://sa-pro.dev33.cn/index.html?hmsr=sa-token), 项目集成了单点登录常见技术点, 绝大多数功能无需二次开发,直接可用,可大大缩短您的项目接入单点登录的开发周期。 diff --git a/sa-token-doc/sso/sso-questions.md b/sa-token-doc/sso/sso-questions.md index 68bcf4be..02c71a04 100644 --- a/sa-token-doc/sso/sso-questions.md +++ b/sa-token-doc/sso/sso-questions.md @@ -153,7 +153,8 @@ public class SaTokenConfigure implements WebMvcConfigurer { ### 问:如果 sso-client 端我没有集成 sa-token-sso,如何对接? -需要手动调用 http 请求来对接 sso-server 开放的接口,参考示例:[sa-token-demo-sso3-client-nosdk](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso3-client-nosdk) +需要手动调用 http 请求来对接 sso-server 开放的接口,参考示例: +[sa-token-demo-sso3-client-nosdk](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso3-client-nosdk) ### 问:如果 sso-client 端不是 java语言,可以对接吗? diff --git a/sa-token-doc/sso/sso-server.md b/sa-token-doc/sso/sso-server.md index 06fd6a87..6c0a32ec 100644 --- a/sa-token-doc/sso/sso-server.md +++ b/sa-token-doc/sso/sso-server.md @@ -2,7 +2,7 @@ 在开始SSO三种模式的对接之前,我们必须先搭建一个 SSO-Server 认证中心 -> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso-server/`,如遇到难点可结合源码进行测试学习,demo里有制作好的登录页面 +> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso-server/`,如遇到难点可结合源码进行测试学习,demo里有制作好的登录页面 --- @@ -268,7 +268,7 @@ public class SaSsoServerApplication { 可以看到这个页面目前非常简陋,这是因为我们以上的代码示例,主要目标是为了带大家从零搭建一个可用的SSO认证服务端,所以就对一些不太必要的步骤做了简化。 -大家可以下载运行一下官方仓库里的示例`/sa-token-demo/sa-token-demo-sso-server/`,里面有制作好的登录页面: +大家可以下载运行一下官方仓库里的示例`/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso-server/`,里面有制作好的登录页面: ![sso-server-init-login2.png](https://oss.dev33.cn/sa-token/doc/sso/sso-server-init-login2.png 's-w-sh') diff --git a/sa-token-doc/sso/sso-type1.md b/sa-token-doc/sso/sso-type1.md index ad6ccfbf..14dcc442 100644 --- a/sa-token-doc/sso/sso-type1.md +++ b/sa-token-doc/sso/sso-type1.md @@ -64,7 +64,7 @@ sa-token.cookie.domain=stp.com ### 4、搭建 Client 端项目 -> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso1-client/`,如遇到难点可结合源码进行测试学习。 +> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso1-client/`,如遇到难点可结合源码进行测试学习。 #### 4.1、引入依赖 diff --git a/sa-token-doc/sso/sso-type2.md b/sa-token-doc/sso/sso-type2.md index 901cc9e1..664f4be7 100644 --- a/sa-token-doc/sso/sso-type2.md +++ b/sa-token-doc/sso/sso-type2.md @@ -45,7 +45,7 @@ ### 3、搭建 Client 端项目 -> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso2-client/`,如遇到难点可结合源码进行测试学习 +> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso2-client/`,如遇到难点可结合源码进行测试学习 #### 3.1、去除 SSO-Server 的 Cookie 作用域配置 在SSO模式一章节中我们打开了配置: diff --git a/sa-token-doc/sso/sso-type3.md b/sa-token-doc/sso/sso-type3.md index 7f8a941c..b26766f5 100644 --- a/sa-token-doc/sso/sso-type3.md +++ b/sa-token-doc/sso/sso-type3.md @@ -15,7 +15,7 @@ 所以模式三的主要目标:也就是在 模式二的基础上 解决上述 三个难题 > 模式三的 Demo 示例地址:`/sa-token-demo/sa-token-demo-sso3-client/` -> [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-sso3-client),如遇难点可参考示例 +> [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso3-client),如遇难点可参考示例 ### 2、在Client 端更改 Ticket 校验方式 diff --git a/sa-token-doc/start/download.md b/sa-token-doc/start/download.md index 05130deb..d7052f53 100644 --- a/sa-token-doc/start/download.md +++ b/sa-token-doc/start/download.md @@ -22,7 +22,7 @@ 注:如果你使用的 `SpringBoot 3.x`,只需要将 `sa-token-spring-boot-starter` 修改为 `sa-token-spring-boot3-starter` 即可。 -注:如果你使用的框架基于 Reactor 模型构建(Netty、WebFlux、ShenYu、SC Gateway等),请引入此包 +注:如果你使用的框架基于 Reactor 模型构建(WebFlux、SpringCloud Gateway 等),请引入此包 ``` xml @@ -172,52 +172,81 @@ Maven依赖一直无法加载成功?[参考解决方案](https://sa-token.cc/d ``` js ── sa-token ├── sa-token-core // [核心] Sa-Token 核心模块 + ├── sa-token-dependencies // [依赖] Sa-Token 依赖版本信息 ├── sa-token-starter // [整合] Sa-Token 与其它框架整合 - ├── sa-token-servlet // [整合] Sa-Token 整合 Servlet容器实现类包 - ├── sa-token-spring-boot-starter // [整合] Sa-Token 整合 SpringBoot 快速集成 - ├── sa-token-reactor-spring-boot-starter // [整合] Sa-Token 整合 Reactor 响应式编程 快速集成 + ├── sa-token-servlet // [整合] Sa-Token 整合 Servlet 容器实现类包 + ├── sa-token-spring-boot-starter // [整合] Sa-Token 整合 SpringBoot2 快速集成 + ├── sa-token-reactor-spring-boot-starter // [整合] Sa-Token 整合 SpringBoot2 Reactor 响应式编程 快速集成 + ├── sa-token-jakarta-servlet // [整合] Sa-Token 整合 Jakarta-Servlet 容器实现类包 + ├── sa-token-spring-boot3-starter // [整合] Sa-Token 整合 SpringBoot3 快速集成 + ├── sa-token-reactor-spring-boot3-starter // [整合] Sa-Token 整合 SpringBoot3 Reactor 响应式编程 快速集成 + ├── sa-token-spring-boot-autoconfig // [整合] Sa-Token 整合 SpringBoot 自动配置包 ├── sa-token-solon-plugin // [整合] Sa-Token 整合 Solon 快速集成 ├── sa-token-jfinal-plugin // [整合] Sa-Token 整合 JFinal 快速集成 ├── sa-token-jboot-plugin // [整合] Sa-Token 整合 jboot 快速集成 ├── sa-token-plugin // [插件] Sa-Token 插件合集 - ├── sa-token-dao-redis // [插件] Sa-Token 整合 Redis (使用jdk默认序列化方式) - ├── sa-token-dao-redis-jackson // [插件] Sa-Token 整合 Redis (使用jackson序列化方式) + ├── sa-token-redis // [插件] Sa-Token 整合 Redis (使用 jdk 默认序列化方式) + ├── sa-token-redis-jackson // [插件] Sa-Token 整合 Redis (使用 jackson 序列化方式) + ├── sa-token-redis-fastjson // [插件] Sa-Token 整合 Redis (使用 fastjson 序列化方式) + ├── sa-token-redis-fastjson2 // [插件] Sa-Token 整合 Redis (使用 fastjson2 序列化方式) + ├── sa-token-redisson-jackson // [插件] Sa-Token 整合 Redisson (使用 jackson 序列化方式) + ├── sa-token-alone-redis // [插件] Sa-Token 独立 Redis 插件,实现 [ 权限缓存与业务缓存分离 ] + ├── sa-token-redisx // [插件] Sa-Token 整合 Redis (中立 redisx) + ├── sa-token-dubbo // [插件] Sa-Token 整合 dubbo 状态传递、rpc 鉴权 + ├── sa-token-dubbo3 // [插件] Sa-Token 整合 dubbo3 状态传递、rpc 鉴权 + ├── sa-token-grpc // [插件] Sa-Token 整合 grpc 状态传递、rpc 鉴权 ├── sa-token-spring-aop // [插件] Sa-Token 整合 SpringAOP 注解鉴权 + ├── sa-token-jwt // [插件] Sa-Token 整合 jwt 登录认证 ├── sa-token-temp-jwt // [插件] Sa-Token 整合 jwt 临时令牌鉴权 ├── sa-token-quick-login // [插件] Sa-Token 快速注入登录页插件 - ├── sa-token-alone-redis // [插件] Sa-Token 独立Redis插件,实现[权限缓存与业务缓存分离] ├── sa-token-sso // [插件] Sa-Token 整合 SSO 单点登录 ├── sa-token-oauth2 // [插件] Sa-Token 实现 OAuth2.0 模块 ├── sa-token-dialect-thymeleaf // [插件] Sa-Token 标签方言(Thymeleaf版) - ├── sa-token-jwt // [插件] Sa-Token 整合 jwt 登录认证 ├── sa-token-demo // [示例] Sa-Token 示例合集 - ├── sa-token-demo-cases // [示例] Sa-Token 各模块示例 + ├── sa-token-demo-case // [示例] Sa-Token 各模块示例 ├── sa-token-demo-springboot // [示例] Sa-Token 整合 SpringBoot ├── sa-token-demo-springboot-redis // [示例] Sa-Token 整合 SpringBoot 整合 Redis + ├── sa-token-demo-springboot3-redis // [示例] Sa-Token 整合 SpringBoot3 整合 Redis + ├── sa-token-demo-springboot-redisson // [示例] Sa-Token 整合 SpringBoot 整合 redisson ├── sa-token-demo-webflux // [示例] Sa-Token 整合 WebFlux - ├── sa-token-demo-jwt // [示例] Sa-Token 集成 jwt + ├── sa-token-demo-webflux-springboot3 // [示例] Sa-Token 整合 WebFlux (SpringBoot3) ├── sa-token-demo-solon // [示例] Sa-Token 集成 Solon - ├── sa-token-demo-quick-login // [示例] Sa-Token 集成 quick-login 模块 ├── sa-token-demo-alone-redis // [示例] Sa-Token 集成 alone-redis 模块 - ├── sa-token-demo-thymeleaf // [示例] Sa-Token 集成 Thymeleaf 标签方言 + ├── sa-token-demo-alone-redis-cluster // [示例] Sa-Token 集成 alone-redis 模块、集群模式 + ├── sa-token-demo-quick-login // [示例] Sa-Token 集成 quick-login 模块 ├── sa-token-demo-jwt // [示例] Sa-Token 集成 jwt 登录认证 - ├── sa-token-demo-sso-server // [示例] Sa-Token 集成 SSO单点登录-Server认证中心 - ├── sa-token-demo-sso1-client // [示例] Sa-Token 集成 SSO单点登录-模式一 应用端 (同域、同Redis) - ├── sa-token-demo-sso2-client // [示例] Sa-Token 集成 SSO单点登录-模式二 应用端 (跨域、同Redis) - ├── sa-token-demo-sso3-client // [示例] Sa-Token 集成 SSO单点登录-模式三 应用端 (跨域、跨Redis) - ├── sa-token-demo-sso3-client-nosdk // [示例] Sa-Token 集成 SSO单点登录-模式三 应用端 (不使用sdk,纯手动对接) - ├── sa-token-demo-sso-server-h5 // [示例] Sa-Token 集成 SSO单点登录-Server认证中心 (前后端分离) - ├── sa-token-demo-sso-client-h5 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-原生h5版本) - ├── sa-token-demo-sso-server-vue2 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-Vue2版本) - ├── sa-token-demo-sso-client-vue3 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-Vue3版本) - ├── sa-token-demo-oauth2-server // [示例] Sa-Token 集成 OAuth2.0 (服务端) - ├── sa-token-demo-oauth2-client // [示例] Sa-Token 集成 OAuth2.0 (客户端) + ├── sa-token-demo-test // [示例] Sa-Token 整合测试项目 ├── sa-token-demo-websocket // [示例] Sa-Token 集成 Web-Socket 鉴权示例 ├── sa-token-demo-websocket-spring // [示例] Sa-Token 集成 Web-Socket(Spring封装版) 鉴权示例 + ├── sa-token-demo-thymeleaf // [示例] Sa-Token 集成 Thymeleaf 标签方言 + ├── sa-token-demo-dubbo-consumer // [示例] Sa-Token 集成 dubbo 鉴权,消费端(调用端) + ├── sa-token-demo-dubbo-provider // [示例] Sa-Token 集成 dubbo 鉴权,生产端(被调用端) + ├── sa-token-demo-sso // [示例] Sa-Token 集成 SSO 单点登录 + ├── sa-token-demo-sso-server // [示例] Sa-Token 集成 SSO单点登录-Server认证中心 + ├── sa-token-demo-sso1-client // [示例] Sa-Token 集成 SSO单点登录-模式一 应用端 (同域、同Redis) + ├── sa-token-demo-sso2-client // [示例] Sa-Token 集成 SSO单点登录-模式二 应用端 (跨域、同Redis) + ├── sa-token-demo-sso3-client // [示例] Sa-Token 集成 SSO单点登录-模式三 应用端 (跨域、跨Redis) + ├── sa-token-demo-sso3-client-nosdk // [示例] Sa-Token 集成 SSO单点登录-模式三 应用端 (不使用sdk,纯手动对接) + ├── sa-token-demo-sso-server-h5 // [示例] Sa-Token 集成 SSO单点登录-Server认证中心 (前后端分离) + ├── sa-token-demo-sso-client-h5 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-原生h5 版本) + ├── sa-token-demo-sso-server-vue2 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-Vue2 版本) + ├── sa-token-demo-sso-client-vue3 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-Vue3 版本) + ├── sa-token-demo-sso-for-solon // [示例] Sa-Token 集成 SSO 单点登录(Solon 版) + ├── sa-token-demo-sso-server-solon // [示例] Sa-Token 集成 SSO单点登录-Server认证中心 + ├── sa-token-demo-sso1-client-solon // [示例] Sa-Token 集成 SSO单点登录-模式一 应用端 (同域、同Redis) + ├── sa-token-demo-sso2-client-solon // [示例] Sa-Token 集成 SSO单点登录-模式二 应用端 (跨域、同Redis) + ├── sa-token-demo-sso3-client-solon // [示例] Sa-Token 集成 SSO单点登录-模式三 应用端 (跨域、跨Redis) + ├── sa-token-demo-oauth2 // [示例] Sa-Token 集成 OAuth2.0 + ├── sa-token-demo-oauth2-server // [示例] Sa-Token 集成 OAuth2.0 (服务端) + ├── sa-token-demo-oauth2-client // [示例] Sa-Token 集成 OAuth2.0 (客户端) + ├── sa-token-demo-remember-me // [示例] Sa-Token 实现 [ 记住我 ] 模式 + ├── page_project // [示例] Sa-Token 实现 [ 记住我 ] 模式、前端页面 + ├── server_project // [示例] Sa-Token 实现 [ 记住我 ] 模式、后端接口 + ├── sa-token-demo-grpc // [示例] Sa-Token 集成 grpc 鉴权 + ├── client // [示例] Sa-Token 集成 grpc 鉴权,client 端 + ├── server // [示例] Sa-Token 集成 grpc 鉴权,server 端 ├── sa-token-test // [测试] Sa-Token 单元测试合集 - ├── sa-token-core-test // [测试] Sa-Token Core核心包单元测试 ├── sa-token-springboot-test // [测试] Sa-Token SpringBoot 整合测试 - ├── sa-token-springboot-integrate-test // [测试] Sa-Token SpringBoot 整合客户端测试 ├── sa-token-jwt-test // [测试] Sa-Token jwt 整合测试 ├── sa-token-doc // [文档] Sa-Token 开发文档 ├──pom.xml // [依赖] 顶级pom文件 diff --git a/sa-token-doc/start/solon-example.md b/sa-token-doc/start/solon-example.md index bc502816..a6a87e41 100644 --- a/sa-token-doc/start/solon-example.md +++ b/sa-token-doc/start/solon-example.md @@ -5,7 +5,13 @@ 整合示例在官方仓库的 /sa-token-demo/sa-token-demo-solon 文件夹下,如遇到难点可结合源码进行学习测试。 > Solon 是一个高效的国产应用开发框架:更快、更小、更简单。 -> 启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10;同时支持 jdk8, jdk11, jdk17, jdk20。 +> +> - 启动快 5 ~ 10 倍; +> - qps 高 2~ 3 倍; +> - 运行时内存节省 1/3 ~ 1/2; +> - 打包可以缩到 1/2 ~ 1/10; +> - 同时支持 jdk8、jdk11、jdk17、jdk20。 +> > 详情可参考:[https://solon.noear.org/](https://solon.noear.org/) diff --git a/sa-token-doc/start/webflux-example.md b/sa-token-doc/start/webflux-example.md index 8fc4fa42..649f248a 100644 --- a/sa-token-doc/start/webflux-example.md +++ b/sa-token-doc/start/webflux-example.md @@ -1,7 +1,7 @@ # Spring WebFlux 集成 Sa-Token 示例 **Reactor** 是一种非阻塞的响应式模型,本篇将以 **WebFlux** 为例,展示 Sa-Token 与 Reactor 响应式模型框架相整合的示例, -**你可以用同样方式去对接其它 Reactor 模型框架(Netty、ShenYu、SpringCloud Gateway等)** +**你可以用同样方式去对接其它 Reactor 模型框架(例如 SpringCloud Gateway)** 整合示例在官方仓库的`/sa-token-demo/sa-token-demo-webflux`文件夹下,如遇到难点可结合源码进行测试学习