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();
}
}).