From 9dcbd591d99a51cc780b7c29d11554b95ade3664 Mon Sep 17 00:00:00 2001 From: noear Date: Tue, 14 Mar 2023 11:58:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=20sa-token-demo-sso3-client-?= =?UTF-8?q?solon=20demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/pj/sso/SaSsoAutoConfigure.java | 52 +++++++++++++++++++ .../java/com/pj/sso/SsoClientController.java | 3 ++ 2 files changed, 55 insertions(+) create mode 100644 sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SaSsoAutoConfigure.java diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SaSsoAutoConfigure.java b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SaSsoAutoConfigure.java new file mode 100644 index 00000000..5b7a9cd4 --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SaSsoAutoConfigure.java @@ -0,0 +1,52 @@ +package com.pj.sso; + +import cn.dev33.satoken.config.SaSsoConfig; +import cn.dev33.satoken.sso.SaSsoManager; +import cn.dev33.satoken.sso.SaSsoProcessor; +import cn.dev33.satoken.sso.SaSsoTemplate; +import cn.dev33.satoken.sso.SaSsoUtil; +import org.noear.solon.annotation.Bean; +import org.noear.solon.annotation.Condition; +import org.noear.solon.annotation.Configuration; +import org.noear.solon.annotation.Inject; + +/** + * solon 的 sso 适配,在 cn.dev33:sa-token-solon-plugin:1.34.0 里还没有。(临时加这个类) + * + * //todo: 如果使用 org.noear:sa-token-solon-plugin:xxx ,则需要删掉这个类 + * + * @author noear + * @since 2.0 + */ +@Condition(onClass = SaSsoManager.class) +@Configuration +public class SaSsoAutoConfigure { + /** + * 获取 SSO 配置Bean + * */ + @Bean + public SaSsoConfig getConfig(@Inject(value = "${sa-token.sso}",required = false) SaSsoConfig ssoConfig) { + return ssoConfig; + } + + /** + * 注入 Sa-Token-SSO 配置Bean + * + * @param saSsoConfig 配置对象 + */ + @Bean + public void setSaSsoConfig(@Inject(required = false) SaSsoConfig saSsoConfig) { + SaSsoManager.setConfig(saSsoConfig); + } + + /** + * 注入 Sa-Token-SSO 单点登录模块 Bean + * + * @param ssoTemplate saSsoTemplate对象 + */ + @Bean + public void setSaSsoTemplate(@Inject(required = false) SaSsoTemplate ssoTemplate) { + SaSsoUtil.ssoTemplate = ssoTemplate; + SaSsoProcessor.instance.ssoTemplate = ssoTemplate; + } +} 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 index 6b3fb3f6..4bf81034 100644 --- 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 @@ -6,6 +6,8 @@ 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.annotation.Produces; +import org.noear.solon.boot.web.MimeType; import org.noear.solon.core.handle.Context; import org.noear.solon.core.handle.Render; @@ -17,6 +19,7 @@ import org.noear.solon.core.handle.Render; public class SsoClientController implements Render { // SSO-Client端:首页 + @Produces(MimeType.TEXT_HTML_VALUE) @Mapping("/") public String index() { String str = "

Sa-Token SSO-Client 应用端

" +