From 1644a1c5f3aa20ecdb6415d50a4e55839c0a51fb Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Mon, 16 Aug 2021 15:55:34 +0800 Subject: [PATCH] =?UTF-8?q?SSO=E6=96=87=E6=A1=A3=E9=87=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0API=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/pj/sso/SsoClientController.java | 7 ++++++- .../main/java/com/pj/sso/SsoServerController.java | 8 +++++++- .../main/java/com/pj/sso/SsoClientController.java | 7 ++++++- .../main/java/com/pj/sso/SsoServerController.java | 8 +++++++- sa-token-doc/doc/more/common-action.md | 4 ++-- sa-token-doc/doc/sso/sso-type2.md | 15 +++++++++++++-- .../java/cn/dev33/satoken/quick/SaQuickBean.java | 5 ++--- 7 files changed, 43 insertions(+), 11 deletions(-) diff --git a/sa-token-demo/sa-token-demo-sso2-client/src/main/java/com/pj/sso/SsoClientController.java b/sa-token-demo/sa-token-demo-sso2-client/src/main/java/com/pj/sso/SsoClientController.java index 612de553..90a892c7 100644 --- a/sa-token-demo/sa-token-demo-sso2-client/src/main/java/com/pj/sso/SsoClientController.java +++ b/sa-token-demo/sa-token-demo-sso2-client/src/main/java/com/pj/sso/SsoClientController.java @@ -15,7 +15,12 @@ import cn.dev33.satoken.util.SaResult; @RestController public class SsoClientController { - // SSO-Client端:首页 + /* + * 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时打开),此接口为框架回调,开发者无需关心 + */ @RequestMapping("/") public String index() { String str = "

Sa-Token SSO-Client 应用端

" + diff --git a/sa-token-demo/sa-token-demo-sso2-server/src/main/java/com/pj/sso/SsoServerController.java b/sa-token-demo/sa-token-demo-sso2-server/src/main/java/com/pj/sso/SsoServerController.java index d211abc2..4d23369a 100644 --- a/sa-token-demo/sa-token-demo-sso2-server/src/main/java/com/pj/sso/SsoServerController.java +++ b/sa-token-demo/sa-token-demo-sso2-server/src/main/java/com/pj/sso/SsoServerController.java @@ -19,7 +19,13 @@ import cn.dev33.satoken.util.SaResult; @RestController public class SsoServerController { - // SSO-Server端:处理所有SSO相关请求 + /* + * SSO-Server端:处理所有SSO相关请求 + * http://{host}:{port}/sso/auth -- 单点登录授权地址,接受参数:redirect=授权重定向地址 + * http://{host}:{port}/sso/doLogin -- 账号密码登录接口,接受参数:name、pwd + * http://{host}:{port}/sso/checkTicket -- Ticket校验接口(isHttp=true时打开),接受参数:ticket=ticket码、ssoLogoutCall=单点注销回调地址 [可选] + * http://{host}:{port}/sso/logout -- 单点注销地址(isSlo=true时打开),接受参数:loginId=账号id、secretkey=接口调用秘钥 + */ @RequestMapping("/sso/*") public Object ssoRequest() { return SaSsoHandle.serverRequest(); diff --git a/sa-token-demo/sa-token-demo-sso3-client/src/main/java/com/pj/sso/SsoClientController.java b/sa-token-demo/sa-token-demo-sso3-client/src/main/java/com/pj/sso/SsoClientController.java index 82e4c39a..a41ea3e4 100644 --- a/sa-token-demo/sa-token-demo-sso3-client/src/main/java/com/pj/sso/SsoClientController.java +++ b/sa-token-demo/sa-token-demo-sso3-client/src/main/java/com/pj/sso/SsoClientController.java @@ -30,7 +30,12 @@ public class SsoClientController { return str; } - // SSO-Client端:处理所有SSO相关请求 + /* + * 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时打开),此接口为框架回调,开发者无需关心 + */ @RequestMapping("/sso/*") public Object ssoRequest() { return SaSsoHandle.clientRequest(); diff --git a/sa-token-demo/sa-token-demo-sso3-server/src/main/java/com/pj/sso/SsoServerController.java b/sa-token-demo/sa-token-demo-sso3-server/src/main/java/com/pj/sso/SsoServerController.java index b6acac11..cd1e4700 100644 --- a/sa-token-demo/sa-token-demo-sso3-server/src/main/java/com/pj/sso/SsoServerController.java +++ b/sa-token-demo/sa-token-demo-sso3-server/src/main/java/com/pj/sso/SsoServerController.java @@ -22,7 +22,13 @@ import cn.dev33.satoken.util.SaResult; @RestController public class SsoServerController { - // SSO-Server端:处理所有SSO相关请求 + /* + * SSO-Server端:处理所有SSO相关请求 + * http://{host}:{port}/sso/auth -- 单点登录授权地址,接受参数:redirect=授权重定向地址 + * http://{host}:{port}/sso/doLogin -- 账号密码登录接口,接受参数:name、pwd + * http://{host}:{port}/sso/checkTicket -- Ticket校验接口(isHttp=true时打开),接受参数:ticket=ticket码、ssoLogoutCall=单点注销回调地址 [可选] + * http://{host}:{port}/sso/logout -- 单点注销地址(isSlo=true时打开),接受参数:loginId=账号id、secretkey=接口调用秘钥 + */ @RequestMapping("/sso/*") public Object ssoRequest() { return SaSsoHandle.serverRequest(); diff --git a/sa-token-doc/doc/more/common-action.md b/sa-token-doc/doc/more/common-action.md index 90e3d2cf..2e7299ad 100644 --- a/sa-token-doc/doc/more/common-action.md +++ b/sa-token-doc/doc/more/common-action.md @@ -77,8 +77,8 @@ SaManager.setConfig(config); ### SpringMVCUtil SpringMVC操作的工具类,位于包:`sa-token-spring-boot-starter` ``` java -SpringMVCUtil.getRequest(); // 获取当前会话的 request -SpringMVCUtil.getResponse(); // 获取当前会话的 response +SpringMVCUtil.getRequest(); // 获取本次请求的 request 对象 +SpringMVCUtil.getResponse(); // 获取本次请求的 response 对象 ``` diff --git a/sa-token-doc/doc/sso/sso-type2.md b/sa-token-doc/doc/sso/sso-type2.md index 74522ab3..757b87e4 100644 --- a/sa-token-doc/doc/sso/sso-type2.md +++ b/sa-token-doc/doc/sso/sso-type2.md @@ -72,7 +72,13 @@ @RestController public class SsoServerController { - // SSO-Server端:处理所有SSO相关请求 + /* + * SSO-Server端:处理所有SSO相关请求 + * http://{host}:{port}/sso/auth -- 单点登录授权地址,接受参数:redirect=授权重定向地址 + * http://{host}:{port}/sso/doLogin -- 账号密码登录接口,接受参数:name、pwd + * http://{host}:{port}/sso/checkTicket -- Ticket校验接口(isHttp=true时打开),接受参数:ticket=ticket码、ssoLogoutCall=单点注销回调地址 [可选] + * http://{host}:{port}/sso/logout -- 单点注销地址(isSlo=true时打开),接受参数:loginId=账号id、secretkey=接口调用秘钥 + */ @RequestMapping("/sso/*") public Object ssoRequest() { return SaSsoHandle.serverRequest(); @@ -189,7 +195,12 @@ public class SaSsoServerApplication { @RestController public class SsoClientController { - // SSO-Client端:首页 + /* + * 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时打开),此接口为框架回调,开发者无需关心 + */ @RequestMapping("/") public String index() { String str = "

Sa-Token SSO-Client 应用端

" + diff --git a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickBean.java b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickBean.java index 6055e238..f577d72b 100644 --- a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickBean.java +++ b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickBean.java @@ -9,10 +9,10 @@ import org.springframework.core.annotation.Order; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import cn.dev33.satoken.context.SaHolder; -import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.filter.SaServletFilter; import cn.dev33.satoken.quick.config.SaQuickConfig; import cn.dev33.satoken.quick.web.SaQuickController; +import cn.dev33.satoken.router.SaRouter; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.util.SaTokenConsts; @@ -65,8 +65,7 @@ public class SaQuickBean implements WebMvcConfigurer { // 未登录时直接转发到login.html页面 if (SaQuickManager.getConfig().getAuth() && StpUtil.isLogin() == false) { SaHolder.getRequest().forward("/saLogin"); - // 抛出异常,不再继续执行 - throw NotLoginException.newInstance(StpUtil.getLoginType(), ""); + SaRouter.back(); } }).