From c7f3b6d4933a8c62d4bc94cd968cb3be1ddf2575 Mon Sep 17 00:00:00 2001 From: shengzhang <2393584716@qq.com> Date: Mon, 11 Jan 2021 21:18:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=AF=E7=94=B1=E6=8B=A6=E6=88=AA=E5=99=A8?= =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-doc/doc/start/download.md | 8 +++++--- sa-token-doc/doc/use/route-check.md | 16 ++++++++-------- .../cn/dev33/satoken/interceptor/SaFunction.java | 7 +++++-- .../satoken/interceptor/SaRouteInterceptor.java | 2 +- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/sa-token-doc/doc/start/download.md b/sa-token-doc/doc/start/download.md index 6bb9f288..0c2cd29f 100644 --- a/sa-token-doc/doc/start/download.md +++ b/sa-token-doc/doc/start/download.md @@ -27,9 +27,11 @@ ├── sa-token-core // sa-token核心模块 ├── sa-token-spring-boot-starter // sa-token整合springboot快速集成 ├── sa-token-dao-redis // sa-token整合redis (使用jdk默认序列化方式) - ├── sa-token-dao-redis-jackson // sa-token整合redis (使用jackson序列化方式) - ├── sa-token-demo-springboot // sa-token示例 - ├── sa-token-doc // sa-token开发文档 + ├── sa-token-dao-redis-jackson // sa-token整合redis (使用jackson序列化方式) + ├── sa-token-spring-aop // sa-token整合SpringAOP 注解鉴权 + ├── sa-token-demo-springboot // sa-token示例 + ├── sa-token-demo-jwt // sa-token集成jwt示例 + ├── sa-token-doc // sa-token开发文档 ├──pom.xml ``` diff --git a/sa-token-doc/doc/use/route-check.md b/sa-token-doc/doc/use/route-check.md index 389a1340..56227463 100644 --- a/sa-token-doc/doc/use/route-check.md +++ b/sa-token-doc/doc/use/route-check.md @@ -44,19 +44,19 @@ public class MySaTokenConfig implements WebMvcConfigurer { registry.addInterceptor(SaRouteInterceptor.createPermissionVal("user:add", "user:deelete")).addPathPatterns("/UserController/**"); // 注册一个自定义认证拦截器 (可以写任意认证代码) - registry.addInterceptor(new SaRouteInterceptor(new SaFunction() { - @Override - public void run() { - // 你可以写任意认证代码, 例如: StpUtil.checkLogin(); - System.out.println("---------- 进入自定义认证 --------------- "); - } + registry.addInterceptor(new SaRouteInterceptor(new SaFunction() { + @Override + public void run(HttpServletRequest request, HttpServletResponse response, Object handler) { + // 你可以在这里写任意认证代码, 例如: StpUtil.checkLogin(); + System.out.println("---------- 进入自定义认证 --------------- "); + } })).addPathPatterns("/**"); /** ------ 如果你使用的JDK版本是1.8或以上,上面那一坨可以简写为以下形式 ------ */ // 注册一个自定义认证拦截器 (可以写任意认证代码) - registry.addInterceptor(new SaRouteInterceptor(()->{ - // 你可以写任意认证代码, 例如: StpUtil.checkLogin(); + registry.addInterceptor(new SaRouteInterceptor((request, response, handler)->{ + // 你可以在这里写任意认证代码, 例如: StpUtil.checkLogin(); System.out.println("---------- 进入自定义认证2 --------------- "); })).addPathPatterns("/**"); diff --git a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaFunction.java b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaFunction.java index 25f59464..38ef002a 100644 --- a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaFunction.java +++ b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaFunction.java @@ -1,5 +1,8 @@ package cn.dev33.satoken.interceptor; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * 执行验证方法的辅助类 * @author kong @@ -10,6 +13,6 @@ public interface SaFunction { /** * 执行验证的方法 */ - public void run(); - + public void run(HttpServletRequest request, HttpServletResponse response, Object handler); + } diff --git a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaRouteInterceptor.java b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaRouteInterceptor.java index 5f688c12..a15801df 100644 --- a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaRouteInterceptor.java +++ b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaRouteInterceptor.java @@ -237,7 +237,7 @@ public class SaRouteInterceptor implements HandlerInterceptor { getStpLogic().checkPermissionOr(codes); } } else if(this.type == SaRouteInterceptor.CUSTOM) { - function.run(); + function.run(request, response, handler); } // 通过验证