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 应用端

" +