From 8f3055c13f09514c325a8ad6226baef7704435ba Mon Sep 17 00:00:00 2001 From: AppleOfGray Date: Thu, 9 Mar 2023 09:08:41 +0000 Subject: [PATCH 01/11] update sa-token-core/src/main/java/cn/dev33/satoken/exception/SaTokenException.java. https://gitee.com/dromara/sa-token/issues/I6CRPR --- .../main/java/cn/dev33/satoken/exception/SaTokenException.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/exception/SaTokenException.java b/sa-token-core/src/main/java/cn/dev33/satoken/exception/SaTokenException.java index 03a8f9e7..4e3cabf9 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/exception/SaTokenException.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/exception/SaTokenException.java @@ -98,7 +98,7 @@ public class SaTokenException extends RuntimeException { */ public static void throwBy(boolean flag, String message, int code) { if(flag) { - throw new SaTokenException(message); + throw new SaTokenException(message).setCode(code); } } From 8aafd83d2740bc13eed4c4c95b37788e1c6707b3 Mon Sep 17 00:00:00 2001 From: noear Date: Fri, 10 Mar 2023 18:01:57 +0800 Subject: [PATCH 02/11] =?UTF-8?q?sa-token-solon-plugin:=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E9=9B=86=E6=88=90=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/dev33/satoken/solon/XPluginImp.java | 11 +++++------ .../satoken/solon/integration/SaTokenFilter.java | 13 ++++++++----- .../solon/integration/SaTokenInterceptor.java | 13 ++++++++----- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/XPluginImp.java b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/XPluginImp.java index b08c54d1..fcba0483 100644 --- a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/XPluginImp.java +++ b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/XPluginImp.java @@ -1,11 +1,5 @@ package cn.dev33.satoken.solon; -import cn.dev33.satoken.solon.oauth2.SaOAuth2AutoConfigure; -import cn.dev33.satoken.solon.sso.SaSsoAutoConfigure; -import org.noear.solon.Solon; -import org.noear.solon.core.AopContext; -import org.noear.solon.core.Plugin; - import cn.dev33.satoken.SaManager; import cn.dev33.satoken.basic.SaBasicTemplate; import cn.dev33.satoken.basic.SaBasicUtil; @@ -19,10 +13,15 @@ import cn.dev33.satoken.log.SaLog; import cn.dev33.satoken.same.SaSameTemplate; import cn.dev33.satoken.sign.SaSignTemplate; import cn.dev33.satoken.solon.model.SaContextForSolon; +import cn.dev33.satoken.solon.oauth2.SaOAuth2AutoConfigure; +import cn.dev33.satoken.solon.sso.SaSsoAutoConfigure; import cn.dev33.satoken.stp.StpInterface; import cn.dev33.satoken.stp.StpLogic; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.temp.SaTempInterface; +import org.noear.solon.Solon; +import org.noear.solon.core.AopContext; +import org.noear.solon.core.Plugin; /** * @author noear diff --git a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenFilter.java b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenFilter.java index 927ed822..31866411 100644 --- a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenFilter.java +++ b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenFilter.java @@ -180,9 +180,10 @@ public class SaTokenFilter implements Filter { //之所以改名,为了跟 SaT beforeAuth.run(mainHandler); } //2.执行注解处理 - authAnno(action); - //3.执行规则处理 - auth.run(mainHandler); + if(authAnno(action)) { + //3.执行规则处理(如果没有被 @SaIgnore 忽略) + auth.run(mainHandler); + } }); } catch (StopMatchException e) { @@ -206,7 +207,7 @@ public class SaTokenFilter implements Filter { //之所以改名,为了跟 SaT chain.doFilter(ctx); } - private void authAnno(Action action) { + private boolean authAnno(Action action) { //2.验证注解处理 if (isAnnotation && action != null) { // 获取此请求对应的 Method 处理函数 @@ -214,11 +215,13 @@ public class SaTokenFilter implements Filter { //之所以改名,为了跟 SaT // 如果此 Method 或其所属 Class 标注了 @SaIgnore,则忽略掉鉴权 if (SaStrategy.me.isAnnotationPresent.apply(method, SaIgnore.class)) { - return; + return false; } // 注解校验 SaStrategy.me.checkMethodAnnotation.accept(method); } + + return true; } } diff --git a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenInterceptor.java b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenInterceptor.java index 7008f9c0..0afb5a82 100644 --- a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenInterceptor.java +++ b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenInterceptor.java @@ -179,9 +179,10 @@ public class SaTokenInterceptor implements RouterInterceptor { beforeAuth.run(mainHandler); } //2.执行注解处理 - authAnno(action); - //3.执行规则处理 - auth.run(mainHandler); + if(authAnno(action)) { + //3.执行规则处理(如果没有被 @SaIgnore 忽略) + auth.run(mainHandler); + } }); } catch (StopMatchException e) { @@ -206,7 +207,7 @@ public class SaTokenInterceptor implements RouterInterceptor { chain.doIntercept(ctx, mainHandler); } - private void authAnno(Action action) { + private boolean authAnno(Action action) { //2.验证注解处理 if (isAnnotation && action != null) { // 获取此请求对应的 Method 处理函数 @@ -214,11 +215,13 @@ public class SaTokenInterceptor implements RouterInterceptor { // 如果此 Method 或其所属 Class 标注了 @SaIgnore,则忽略掉鉴权 if (SaStrategy.me.isAnnotationPresent.apply(method, SaIgnore.class)) { - return; + return false; } // 注解校验 SaStrategy.me.checkMethodAnnotation.accept(method); } + + return true; } } From eedb4b7f04f77236a281a129c2ce73d81be016d8 Mon Sep 17 00:00:00 2001 From: noear Date: Mon, 13 Mar 2023 17:39:20 +0800 Subject: [PATCH 03/11] =?UTF-8?q?sa-token-dao-redisx:=20=E5=8F=96=E6=B6=88?= =?UTF-8?q?=20SaTokenDaoOfRedis=20=E5=BC=83=E7=94=A8=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedis.java | 1 - 1 file changed, 1 deletion(-) diff --git a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedis.java b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedis.java index 5966c3b3..de6f4045 100644 --- a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedis.java +++ b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedis.java @@ -10,7 +10,6 @@ import java.util.Properties; * @author noear * @since 1.6 */ -@Deprecated public class SaTokenDaoOfRedis extends SaTokenDaoOfRedisBase64 { public SaTokenDaoOfRedis(Properties props) { From 8a35671a0ba861fa3cef54e5cc9896f1e61f6d6e Mon Sep 17 00:00:00 2001 From: noear Date: Mon, 13 Mar 2023 17:40:34 +0800 Subject: [PATCH 04/11] =?UTF-8?q?solon=20=E5=8D=87=E4=B8=BA=202.2.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-dependencies/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sa-token-dependencies/pom.xml b/sa-token-dependencies/pom.xml index 8d17df16..8388144b 100644 --- a/sa-token-dependencies/pom.xml +++ b/sa-token-dependencies/pom.xml @@ -23,7 +23,7 @@ 3.1.0 6.0.0 3.0.9.RELEASE - 2.2.1 + 2.2.3 1.4.5 3.2.54 4.9.17 From 269a05813794f35cc903127ba0a96bc1ae7436f0 Mon Sep 17 00:00:00 2001 From: noear Date: Mon, 13 Mar 2023 18:00:32 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E5=AE=8C=E6=88=90=20sa-token-demo-sso1-c?= =?UTF-8?q?lient-solon=20=E7=A4=BA=E4=BE=8B=20demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sa-token-demo-sso1-client-solon/pom.xml | 54 +++++++++++++++++++ .../src/main/java/com/pj/SaConfig.java | 22 ++++++++ .../src/main/java/com/pj/SaSso1ClientApp.java | 20 +++++++ .../java/com/pj/sso/SsoClientController.java | 40 ++++++++++++++ .../src/main/resources/app.yml | 25 +++++++++ 5 files changed, 161 insertions(+) create mode 100644 sa-token-demo/sa-token-demo-sso1-client-solon/pom.xml create mode 100644 sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaConfig.java create mode 100644 sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaSso1ClientApp.java create mode 100644 sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/sso/SsoClientController.java create mode 100644 sa-token-demo/sa-token-demo-sso1-client-solon/src/main/resources/app.yml diff --git a/sa-token-demo/sa-token-demo-sso1-client-solon/pom.xml b/sa-token-demo/sa-token-demo-sso1-client-solon/pom.xml new file mode 100644 index 00000000..113dc247 --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso1-client-solon/pom.xml @@ -0,0 +1,54 @@ + + 4.0.0 + cn.dev33 + sa-token-demo-sso1-client-solon + 0.0.1-SNAPSHOT + + + + org.noear + solon-parent + 2.2.3 + + + + + + 1.34.0 + + + + + + + org.noear + solon-api + + + + + cn.dev33 + sa-token-solon-plugin + ${sa-token.version} + + + + + cn.dev33 + sa-token-sso + ${sa-token.version} + + + + + cn.dev33 + sa-token-dao-redisx + ${sa-token.version} + + + + + + \ No newline at end of file diff --git a/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaConfig.java b/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaConfig.java new file mode 100644 index 00000000..6b7d743e --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaConfig.java @@ -0,0 +1,22 @@ +package com.pj; + +import cn.dev33.satoken.dao.SaTokenDao; +import cn.dev33.satoken.solon.dao.SaTokenDaoOfRedis; +import org.noear.solon.annotation.Bean; +import org.noear.solon.annotation.Configuration; +import org.noear.solon.annotation.Inject; + +/** + * @author noear 2023/3/13 created + */ +@Configuration +public class SaConfig { + + /** + * 配置 Sa-Token 单独使用的Redis连接 (此处需要和SSO-Server端连接同一个Redis) + * */ + @Bean + public SaTokenDao saTokenDaoInit(@Inject("${sa-token-dao.redis}") SaTokenDaoOfRedis saTokenDao) { + return saTokenDao; + } +} diff --git a/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaSso1ClientApp.java b/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaSso1ClientApp.java new file mode 100644 index 00000000..f45f82dc --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaSso1ClientApp.java @@ -0,0 +1,20 @@ +package com.pj; + + +import org.noear.solon.Solon; +import org.noear.solon.annotation.SolonMain; + +/** + * SSO模式一,Client端 Demo + * @author kong + * + */ +@SolonMain +public class SaSso1ClientApp { + + public static void main(String[] args) { + Solon.start(SaSso1ClientApp.class, args); + System.out.println("\nSa-Token SSO模式一 Client端启动成功"); + } + +} \ No newline at end of file diff --git a/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/sso/SsoClientController.java b/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/sso/SsoClientController.java new file mode 100644 index 00000000..85313296 --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/sso/SsoClientController.java @@ -0,0 +1,40 @@ +package com.pj.sso; + +import cn.dev33.satoken.sso.SaSsoManager; +import cn.dev33.satoken.stp.StpUtil; +import cn.dev33.satoken.util.SaResult; +import org.noear.solon.annotation.Controller; +import org.noear.solon.annotation.Mapping; +import org.noear.solon.core.handle.Context; +import org.noear.solon.core.handle.Render; + +/** + * Sa-Token-SSO Client端 Controller + * @author kong + */ +@Controller +public class SsoClientController implements Render { + + // SSO-Client端:首页 + @Mapping("/") + public String index() { + String authUrl = SaSsoManager.getConfig().splicingAuthUrl(); + String solUrl = SaSsoManager.getConfig().splicingSloUrl(); + String str = "

Sa-Token SSO-Client 应用端

" + + "

当前会话是否登录:" + StpUtil.isLogin() + "

" + + "

登录 " + + "注销

"; + return str; + } + + /* + * SSO-Client端:处理所有SSO相关请求 + * http://{host}:{port}/sso/login -- Client端登录地址,接受参数:back=登录后的跳转地址 + * http://{host}:{port}/sso/logout -- Client端单点注销地址(isSlo=true时打开),接受参数:back=注销后的跳转地址 + * http://{host}:{port}/sso/logoutCall -- Client端单点注销回调地址(isSlo=true时打开),此接口为框架回调,开发者无需关心 + */ + @Mapping("/sso/*") + public Object ssoRequest() { + return SaSsoProcessor.instance.clientDister(); + } + + // 全局异常拦截并转换 + @Override + public void render(Object data, Context ctx) throws Throwable { + if(data instanceof Exception){ + data = SaResult.error(((Exception)data).getMessage()); + } + + ctx.render(data); + } +} diff --git a/sa-token-demo/sa-token-demo-sso2-client-solon/src/main/resources/app.yml b/sa-token-demo/sa-token-demo-sso2-client-solon/src/main/resources/app.yml new file mode 100644 index 00000000..4c06a05c --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso2-client-solon/src/main/resources/app.yml @@ -0,0 +1,26 @@ +# 端口 +server: + port: 9001 + +# sa-token配置 +sa-token: + # SSO-相关配置 + sso: + # SSO-Server端 统一认证地址 + auth-url: http://sa-sso-server.com:9000/sso/auth + # auth-url: http://127.0.0.1:8848/sa-token-demo-sso-server-h5/sso-auth.html + # 是否打开单点注销接口 + is-slo: true + +# 配置 Sa-Token 单独使用的Redis连接 (此处需要和SSO-Server端连接同一个Redis) +sa-token-dao: #名字可以随意取 + redis: + server: "localhost:6379" + password: 123456 + db: 1 + maxTotal: 200 + + + + + \ No newline at end of file From f41501a50b8b8d06dd42db70489aae6fe53a6167 Mon Sep 17 00:00:00 2001 From: noear Date: Mon, 13 Mar 2023 18:01:07 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E5=AE=8C=E6=88=90=20sa-token-demo-sso3-c?= =?UTF-8?q?lient-solon=20=E7=A4=BA=E4=BE=8B=20demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sa-token-demo-sso3-client-solon/pom.xml | 55 ++++++++++++++++++ .../src/main/java/com/pj/SaConfig.java | 22 +++++++ .../src/main/java/com/pj/SaSso3ClientApp.java | 14 +++++ .../java/com/pj/sso/SsoClientController.java | 57 +++++++++++++++++++ .../src/main/java/com/pj/sso/SsoConfig.java | 22 +++++++ .../src/main/resources/app.yml | 38 +++++++++++++ 6 files changed, 208 insertions(+) create mode 100644 sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml create mode 100644 sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaConfig.java create mode 100644 sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaSso3ClientApp.java create mode 100644 sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoClientController.java create mode 100644 sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoConfig.java create mode 100644 sa-token-demo/sa-token-demo-sso3-client-solon/src/main/resources/app.yml diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml b/sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml new file mode 100644 index 00000000..3484cb10 --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml @@ -0,0 +1,55 @@ + + 4.0.0 + cn.dev33 + sa-token-demo-sso3-client-solon + 0.0.1-SNAPSHOT + + + + org.noear + solon-parent + 2.2.3 + + + + + + 1.34.0 + + + + + + + org.noear + solon-api + + + + + cn.dev33 + sa-token-solon-plugin + ${sa-token.version} + + + + + cn.dev33 + sa-token-sso + ${sa-token.version} + + + + + com.dtflys.forest + forest-solon-plugin + 1.5.29 + + + + + + + \ No newline at end of file diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaConfig.java b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaConfig.java new file mode 100644 index 00000000..2f4361b8 --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaConfig.java @@ -0,0 +1,22 @@ +package com.pj; + +import cn.dev33.satoken.dao.SaTokenDao; +import cn.dev33.satoken.solon.dao.SaTokenDaoOfRedis; +import org.noear.solon.annotation.Bean; +import org.noear.solon.annotation.Configuration; +import org.noear.solon.annotation.Inject; + +/** + * @author noear 2023/3/13 created + */ +@Configuration +public class SaConfig { + + /** + * 构建建 SaToken redis dao(如果不需要 redis;可以注释掉) + * */ + @Bean + public SaTokenDao saTokenDaoInit(@Inject("${sa-token-dao.redis}") SaTokenDaoOfRedis saTokenDao) { + return saTokenDao; + } +} diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaSso3ClientApp.java b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaSso3ClientApp.java new file mode 100644 index 00000000..f30e4a25 --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaSso3ClientApp.java @@ -0,0 +1,14 @@ +package com.pj; + +import org.noear.solon.Solon; +import org.noear.solon.annotation.SolonMain; + +@SolonMain +public class SaSso3ClientApp { + + public static void main(String[] args) { + Solon.start(SaSso3ClientApp.class, args); + System.out.println("\nSa-Token SSO模式三 Client端启动成功"); + } + +} \ No newline at end of file diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoClientController.java b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoClientController.java new file mode 100644 index 00000000..6b3fb3f6 --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoClientController.java @@ -0,0 +1,57 @@ +package com.pj.sso; + +import cn.dev33.satoken.sso.SaSsoProcessor; +import cn.dev33.satoken.sso.SaSsoUtil; +import cn.dev33.satoken.stp.StpUtil; +import cn.dev33.satoken.util.SaResult; +import org.noear.solon.annotation.Controller; +import org.noear.solon.annotation.Mapping; +import org.noear.solon.core.handle.Context; +import org.noear.solon.core.handle.Render; + +/** + * Sa-Token-SSO Client端 Controller + * @author kong + */ +@Controller +public class SsoClientController implements Render { + + // SSO-Client端:首页 + @Mapping("/") + public String index() { + String str = "

Sa-Token SSO-Client 应用端

" + + "

当前会话是否登录:" + StpUtil.isLogin() + "

" + + "

登录" + + " 注销

"; + return str; + } + + /* + * SSO-Client端:处理所有SSO相关请求 + * http://{host}:{port}/sso/login -- Client端登录地址,接受参数:back=登录后的跳转地址 + * http://{host}:{port}/sso/logout -- Client端单点注销地址(isSlo=true时打开),接受参数:back=注销后的跳转地址 + * http://{host}:{port}/sso/logoutCall -- Client端单点注销回调地址(isSlo=true时打开),此接口为框架回调,开发者无需关心 + */ + @Mapping("/sso/*") + public Object ssoRequest() { + return SaSsoProcessor.instance.clientDister(); + } + + // 查询我的账号信息 + @Mapping("/sso/myinfo") + public Object myinfo() { + Object userinfo = SaSsoUtil.getUserinfo(StpUtil.getLoginId()); + System.out.println("--------info:" + userinfo); + return userinfo; + } + + // 全局异常拦截并转换 + @Override + public void render(Object data, Context ctx) throws Throwable { + if(data instanceof Exception){ + data = SaResult.error(((Exception)data).getMessage()); + } + + ctx.render(data); + } +} diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoConfig.java b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoConfig.java new file mode 100644 index 00000000..d4a33b03 --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoConfig.java @@ -0,0 +1,22 @@ +package com.pj.sso; + +import cn.dev33.satoken.config.SaSsoConfig; +import com.dtflys.forest.Forest; +import org.noear.solon.annotation.Bean; +import org.noear.solon.annotation.Configuration; + +/** + * @author noear 2023/3/13 created + */ +@Configuration +public class SsoConfig { + // 配置SSO相关参数 + @Bean + private void configSso(SaSsoConfig sso) { + // 配置Http请求处理器 + sso.setSendHttp(url -> { + System.out.println("------ 发起请求:" + url); + return Forest.get(url).executeAsString(); + }); + } +} diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/resources/app.yml b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/resources/app.yml new file mode 100644 index 00000000..b1e0ff8c --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/resources/app.yml @@ -0,0 +1,38 @@ +# 端口 +server: + port: 9001 + +# sa-token配置 +sa-token: + # SSO-相关配置 + sso: + # SSO-Server端 统一认证地址 + auth-url: http://sa-sso-server.com:9000/sso/auth + # 使用Http请求校验ticket + is-http: true + # SSO-Server端 ticket校验地址 + check-ticket-url: http://sa-sso-server.com:9000/sso/checkTicket + # 打开单点注销功能 + is-slo: true + # 单点注销地址 + slo-url: http://sa-sso-server.com:9000/sso/signout + # 接口调用秘钥 + secretkey: kQwIOrYvnXmSDkwEiFngrKidMcdrgKor + # SSO-Server端 查询userinfo地址 + userinfo-url: http://sa-sso-server.com:9000/sso/userinfo + + +# 配置 Sa-Token Dao(此处与SSO-Server端连接不同的Redis) +sa-token-dao: #名字可以随意取 + redis: + server: "localhost:6379" + password: 123456 + db: 2 + maxTotal: 200 + +forest: + # 关闭 forest 请求日志打印 + log-enabled: false + + + \ No newline at end of file From dc67040826054f573a89dcfd7a003c5c5ec7c1b2 Mon Sep 17 00:00:00 2001 From: noear Date: Mon, 13 Mar 2023 18:04:51 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E5=AE=8C=E6=88=90=20sa-token-demo-sso1-c?= =?UTF-8?q?lient-solon=20=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/pj/SaConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaConfig.java b/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaConfig.java index 6b7d743e..d0e9fc48 100644 --- a/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaConfig.java +++ b/sa-token-demo/sa-token-demo-sso1-client-solon/src/main/java/com/pj/SaConfig.java @@ -1,7 +1,7 @@ package com.pj; import cn.dev33.satoken.dao.SaTokenDao; -import cn.dev33.satoken.solon.dao.SaTokenDaoOfRedis; +import cn.dev33.satoken.dao.SaTokenDaoOfRedis; import org.noear.solon.annotation.Bean; import org.noear.solon.annotation.Configuration; import org.noear.solon.annotation.Inject; From f738c306485b512eeede06167b500dca675bf370 Mon Sep 17 00:00:00 2001 From: noear Date: Mon, 13 Mar 2023 18:05:00 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E5=AE=8C=E6=88=90=20sa-token-demo-sso2-c?= =?UTF-8?q?lient-solon=20=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/pj/SaConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sa-token-demo/sa-token-demo-sso2-client-solon/src/main/java/com/pj/SaConfig.java b/sa-token-demo/sa-token-demo-sso2-client-solon/src/main/java/com/pj/SaConfig.java index 6b7d743e..d0e9fc48 100644 --- a/sa-token-demo/sa-token-demo-sso2-client-solon/src/main/java/com/pj/SaConfig.java +++ b/sa-token-demo/sa-token-demo-sso2-client-solon/src/main/java/com/pj/SaConfig.java @@ -1,7 +1,7 @@ package com.pj; import cn.dev33.satoken.dao.SaTokenDao; -import cn.dev33.satoken.solon.dao.SaTokenDaoOfRedis; +import cn.dev33.satoken.dao.SaTokenDaoOfRedis; import org.noear.solon.annotation.Bean; import org.noear.solon.annotation.Configuration; import org.noear.solon.annotation.Inject; From cc0e3cf92b85de9e365c53d03cc79af59aa214e3 Mon Sep 17 00:00:00 2001 From: noear Date: Mon, 13 Mar 2023 18:05:09 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E5=AE=8C=E6=88=90=20sa-token-demo-sso3-c?= =?UTF-8?q?lient-solon=20=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml | 7 +++++++ .../src/main/java/com/pj/SaConfig.java | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml b/sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml index 3484cb10..2c78a6bf 100644 --- a/sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml @@ -40,6 +40,13 @@ sa-token-sso ${sa-token.version} + + + + cn.dev33 + sa-token-dao-redisx + ${sa-token.version} + diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaConfig.java b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaConfig.java index 2f4361b8..8faf05a1 100644 --- a/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaConfig.java +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/SaConfig.java @@ -1,7 +1,7 @@ package com.pj; import cn.dev33.satoken.dao.SaTokenDao; -import cn.dev33.satoken.solon.dao.SaTokenDaoOfRedis; +import cn.dev33.satoken.dao.SaTokenDaoOfRedis; import org.noear.solon.annotation.Bean; import org.noear.solon.annotation.Configuration; import org.noear.solon.annotation.Inject; From ec1e40654e6a038ad9a59aa42331cef9fe16035d Mon Sep 17 00:00:00 2001 From: noear Date: Mon, 13 Mar 2023 18:06:32 +0800 Subject: [PATCH 11/11] =?UTF-8?q?sa-token-demo-solon=20=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E4=B8=BA=20solon=202.2.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-demo/sa-token-demo-solon/pom.xml | 2 +- sa-token-demo/sa-token-demo-sso-server-solon/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sa-token-demo/sa-token-demo-solon/pom.xml b/sa-token-demo/sa-token-demo-solon/pom.xml index ffaed51b..836860f1 100644 --- a/sa-token-demo/sa-token-demo-solon/pom.xml +++ b/sa-token-demo/sa-token-demo-solon/pom.xml @@ -10,7 +10,7 @@ 1.34.0 - 2.2.1 + 2.2.3 UTF-8 UTF-8 diff --git a/sa-token-demo/sa-token-demo-sso-server-solon/pom.xml b/sa-token-demo/sa-token-demo-sso-server-solon/pom.xml index b4428659..65b53f2d 100644 --- a/sa-token-demo/sa-token-demo-sso-server-solon/pom.xml +++ b/sa-token-demo/sa-token-demo-sso-server-solon/pom.xml @@ -9,7 +9,7 @@ 1.34.0 - 2.2.1 + 2.2.3