diff --git a/README.md b/README.md index 1de42a1b..8ee0ded8 100644 --- a/README.md +++ b/README.md @@ -187,6 +187,14 @@ Sa-Token-OAuth2 模块分为四种授权模式,解决不同场景下的授权 - [[ Solon ]](https://gitee.com/noear/solon):一个更现代感的应用开发框架:更快、更小、更自由。 + +### 代码托管 +- Gitee:[https://gitee.com/dromara/sa-token](https://gitee.com/dromara/sa-token) +- GitHub:[https://github.com/dromara/sa-token](https://github.com/dromara/sa-token) +- GitCode:[https://gitcode.com/click33/sa-token](https://gitcode.com/click33/sa-token) + + + ### 交流群 @@ -194,9 +202,9 @@ QQ交流群:936523917 [点击加入](https://qm.qq.com/q/xfoMJA5Az0) 微信交流群: - + - + (扫码添加微信,备注:sa-token,邀您加入群聊) diff --git a/sa-token-demo/sa-token-demo-springboot-redisson/src/main/java/com/pj/test/AtController.java b/sa-token-demo/sa-token-demo-springboot-redisson/src/main/java/com/pj/test/AtController.java index 3af4c603..92358348 100644 --- a/sa-token-demo/sa-token-demo-springboot-redisson/src/main/java/com/pj/test/AtController.java +++ b/sa-token-demo/sa-token-demo-springboot-redisson/src/main/java/com/pj/test/AtController.java @@ -1,14 +1,9 @@ package com.pj.test; +import cn.dev33.satoken.annotation.*; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import cn.dev33.satoken.annotation.SaCheckBasic; -import cn.dev33.satoken.annotation.SaCheckLogin; -import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.dev33.satoken.annotation.SaCheckRole; -import cn.dev33.satoken.annotation.SaCheckSafe; -import cn.dev33.satoken.annotation.SaMode; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.util.SaResult; @@ -71,7 +66,7 @@ public class AtController { } // 通过Basic认证后才可以进入 ---- http://localhost:8081/at/checkBasic - @SaCheckBasic(account = "sa:123456") + @SaCheckHttpBasic(account = "sa:123456") @RequestMapping("checkBasic") public SaResult checkBasic() { return SaResult.ok(); diff --git a/sa-token-demo/sa-token-demo-ssm/src/main/java/com/pj/controller/AtController.java b/sa-token-demo/sa-token-demo-ssm/src/main/java/com/pj/controller/AtController.java index 88176cc0..ee0e9b36 100644 --- a/sa-token-demo/sa-token-demo-ssm/src/main/java/com/pj/controller/AtController.java +++ b/sa-token-demo/sa-token-demo-ssm/src/main/java/com/pj/controller/AtController.java @@ -65,7 +65,7 @@ public class AtController { } // 通过Basic认证后才可以进入 ---- http://localhost:8080/sa_token_demo_ssm_war/at/checkBasic - @SaCheckBasic(account = "sa:123456") + @SaCheckHttpBasic(account = "sa:123456") @RequestMapping("checkBasic") public SaResult checkBasic() { return SaResult.ok(); diff --git a/sa-token-doc/index.html b/sa-token-doc/index.html index bb798bc2..bf768c52 100644 --- a/sa-token-doc/index.html +++ b/sa-token-doc/index.html @@ -537,8 +537,11 @@ - + + +
@@ -743,8 +746,8 @@ - - + @@ -795,10 +798,22 @@ - + + + + + + + + + + +

@@ -905,19 +920,11 @@

联系我们

-

Sa-Token 公众号

diff --git a/sa-token-doc/more/join-group.md b/sa-token-doc/more/join-group.md index 732d3586..2ca7611a 100644 --- a/sa-token-doc/more/join-group.md +++ b/sa-token-doc/more/join-group.md @@ -15,9 +15,9 @@ QQ交流群:936523917 [点击加入](https://qm.qq.com/q/xfoMJA5Az0) ### 2、加入微信交流群: -![微信群](https://oss.dev33.cn/sa-token/wx-qr-300.png ':size=180') + - +![微信群](https://oss.dev33.cn/sa-token/qr/i-wx-qr2.png ':size=175') (扫码添加微信,备注:sa,邀您加入群聊) diff --git a/sa-token-doc/sso/sso-check-domain.md b/sa-token-doc/sso/sso-check-domain.md index db82615d..1af4ea02 100644 --- a/sa-token-doc/sso/sso-check-domain.md +++ b/sa-token-doc/sso/sso-check-domain.md @@ -33,7 +33,7 @@ sa-token: ``` properties # 配置允许单点登录的 url -sa-token.sso.allow-url=http://sa-sso-client1.com:9001/sso/login +sa-token.sso-server.allow-url=http://sa-sso-client1.com:9001/sso/login ``` diff --git a/sa-token-doc/start/webflux-example.md b/sa-token-doc/start/webflux-example.md index fa43e661..be2577ee 100644 --- a/sa-token-doc/start/webflux-example.md +++ b/sa-token-doc/start/webflux-example.md @@ -34,6 +34,13 @@ // Sa-Token 权限认证(Reactor响应式集成),在线文档:https://sa-token.cc implementation 'cn.dev33:sa-token-reactor-spring-boot-starter:${sa.top.version}' ``` + + +注:如果你使用的是 `SpringBoot 3.x`,只需要将 `sa-token-reactor-spring-boot-starter` 修改为 `sa-token-reactor-spring-boot3-starter` 即可。 +``` gradle +// Sa-Token 权限认证(Reactor响应式集成),在线文档:https://sa-token.cc +implementation("cn.dev33:sa-token-reactor-spring-boot-starter:${sa.top.version}") +``` @@ -43,6 +50,8 @@ implementation 'cn.dev33:sa-token-reactor-spring-boot-starter:${sa.top.version}' ### 3、创建启动类 在项目中新建包 `com.pj` ,在此包内新建主类 `SaTokenDemoApplication.java`,输入以下代码: + + ``` java @SpringBootApplication public class SaTokenDemoApplication { @@ -53,8 +62,24 @@ public class SaTokenDemoApplication { } ``` + +```kotlin +@SpringBootApplication +class SaTokenDemoApplication + +fun main(args: Array) { + runApplication(*args) + println(SaManager.getConfig()) +} +``` + + + ### 4、创建全局过滤器 新建`SaTokenConfigure.java`,注册 Sa-Token 的全局过滤器 + + + ``` java /** * [Sa-Token 权限认证] 全局配置类 @@ -85,10 +110,41 @@ public class SaTokenConfigure { } } ``` + + +```kotlin +@Configuration +class SaTokenConfigure { + /** + * 注册 [Sa-Token全局过滤器] + */ + @Bean + fun saReactorFilter(): SaReactorFilter = SaReactorFilter() + // 指定 [拦截路由](此处为拦截所有path) + .addInclude("/**") + // 指定 [放行路由] + .addExclude("/favicon.ico") + // 指定[认证函数]: 每次请求执行 + .setAuth { + println("---------- sa全局认证") + // SaRouter.match("/test/test", SaFunction { StpUtil.checkLogin() }) + } + // 指定[异常处理函数]:每次[认证函数]发生异常时执行此函数 + .setError { e: Throwable -> + println("---------- sa全局异常 ") + SaResult.error(e.message) + } +} +``` + + 你只需要按照此格式复制代码即可,有关过滤器的详细用法,会在之后的章节详细介绍。 ### 5、创建测试Controller + + + ``` java @RestController @RequestMapping("/user/") @@ -114,6 +170,27 @@ public class UserController { } ``` + +```kotlin +@RestController +@RequestMapping("/user/") +class UserController { + + @RequestMapping("doLogin") + fun doLogin(username: String, password: String) = + // 此处仅作模拟示例,真实项目需要从数据库中查询数据进行比对 + if ("zhang" == username && "123456" == password) { + StpUtil.login(10001) + "登录成功" + } else "登录失败" + + @RequestMapping("isLogin") + fun isLogin() = "当前会话是否登录:" + StpUtil.isLogin() + +} +``` + + ### 6、运行 启动代码,从浏览器依次访问上述测试接口: diff --git a/sa-token-doc/static/donate/donate-list.js b/sa-token-doc/static/donate/donate-list.js index ec1252e2..98803048 100644 --- a/sa-token-doc/static/donate/donate-list.js +++ b/sa-token-doc/static/donate/donate-list.js @@ -1110,4 +1110,25 @@ var donateList = [ "msg": "感谢您的开源项目!", "date": "2024-05-07" }, + { + "name": "INS6", + "link": "https://gitee.com/feiyuchuixue", + "money": 188.0, + "msg": '感谢Sa-Token开源!Sz-Admin一个轻量化RBAC开源框架。', + "date": "2024-06-05" + }, + { + "name": "Zongyy", + "link": "https://gitee.com/zongyY11", + "money": 10.0, + "msg": "感谢您的开源项目!", + "date": "2024-06-05" + }, + { + "name": "驰骋BPM", + "link": "https://gitee.com/chichengsoft", + "money": 100.0, + "msg": '感谢开源, 欢迎下载:驰骋低代码BPM https://gitee.com/opencc/JFlow', + "date": "2024-06-11" + }, ] \ No newline at end of file diff --git a/sa-token-doc/use/config.md b/sa-token-doc/use/config.md index d9dbc48c..613b875c 100644 --- a/sa-token-doc/use/config.md +++ b/sa-token-doc/use/config.md @@ -221,7 +221,7 @@ sa-token.sign.secret-key=kQwIOrYvnXmSDkwEiFngrKidMcdrgKor | ticketTimeout | long | 300 | ticket 有效期 (单位: 秒) | | allowUrl | String | * | 所有允许的授权回调地址,多个用逗号隔开(不在此列表中的URL将禁止下放ticket),参考:[SSO整合:配置域名校验](/sso/sso-check-domain) | | homeRoute | String | | 主页路由:在 /sso/auth 登录后不指定 redirect 参数的情况下默认跳转的路由 | -| isSlo | Boolean | false | 是否打开单点注销功能 | +| isSlo | Boolean | true | 是否打开单点注销功能 | | isHttp | Boolean | false | 是否打开模式三(此值为 true 时将使用 http 请求:校验 ticket 值、单点注销、获取 userinfo),参考:[详解](/use/config?id=配置项详解:isHttp) | | autoRenewTimeout | Bolean | false | 是否在每次下发 ticket 时,自动续期 token 的有效期(根据全局 timeout 值) | | maxRegClient | int | 32 | 在 Access-Session 上记录 Client 信息的最高数量(-1=无限),超过此值将进行自动清退处理,先进先出 | diff --git a/sa-token-plugin/sa-token-redisson-jackson2/pom.xml b/sa-token-plugin/sa-token-redisson-jackson2/pom.xml index 08b20901..fae05d9d 100644 --- a/sa-token-plugin/sa-token-redisson-jackson2/pom.xml +++ b/sa-token-plugin/sa-token-redisson-jackson2/pom.xml @@ -18,8 +18,8 @@ - 3.23.5 - 2.15.2 + 3.27.2 + 2.17.0 @@ -34,6 +34,7 @@ org.redisson redisson + ${redisson.version} org.yaml