From d4493d0f98b0c9bb3ec737a3e0d768fbd47f4e17 Mon Sep 17 00:00:00 2001
From: click33 <2393584716@qq.com>
Date: Sat, 24 Jul 2021 02:03:17 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8D=95=E7=82=B9=E7=99=BB?=
=?UTF-8?q?=E5=BD=95=E6=A8=A1=E5=9D=97Path=E5=88=A4=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../cn/dev33/satoken/sso/SaSsoHandle.java | 26 ++++++-------------
sa-token-doc/doc/sso/sso-cd.md | 2 +-
2 files changed, 9 insertions(+), 19 deletions(-)
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/sso/SaSsoHandle.java b/sa-token-core/src/main/java/cn/dev33/satoken/sso/SaSsoHandle.java
index f1c2ff16..5c72fdd5 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/sso/SaSsoHandle.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/sso/SaSsoHandle.java
@@ -5,7 +5,6 @@ import cn.dev33.satoken.config.SaSsoConfig;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.context.model.SaRequest;
import cn.dev33.satoken.context.model.SaResponse;
-import cn.dev33.satoken.router.SaRouter;
import cn.dev33.satoken.sso.SaSsoConsts.Api;
import cn.dev33.satoken.sso.SaSsoConsts.ParamName;
import cn.dev33.satoken.stp.StpLogic;
@@ -32,7 +31,7 @@ public class SaSsoHandle {
StpLogic stpLogic = SaSsoUtil.saSsoTemplate.stpLogic;
// ---------- SSO-Server端:单点登录授权地址
- if(match(Api.ssoAuth)) {
+ if(req.isPath(Api.ssoAuth)) {
// ---------- 此处两种情况分开处理:
// 情况1:在SSO认证中心尚未登录,则先去登登录
if(stpLogic.isLogin() == false) {
@@ -44,12 +43,12 @@ public class SaSsoHandle {
}
// ---------- SSO-Server端:RestAPI 登录接口
- if(match(Api.ssoDoLogin)) {
+ if(req.isPath(Api.ssoDoLogin)) {
return sso.doLoginHandle.apply(req.getParam("name"), req.getParam("pwd"));
}
// ---------- SSO-Server端:校验ticket 获取账号id
- if(match(Api.ssoCheckTicket) && sso.isHttp) {
+ if(req.isPath(Api.ssoCheckTicket) && sso.isHttp) {
String ticket = req.getParam(ParamName.ticket);
String sloCallback = req.getParam(ParamName.ssoLogoutCall);
@@ -64,7 +63,7 @@ public class SaSsoHandle {
}
// ---------- SSO-Server端:单点注销
- if(match(Api.ssoLogout) && sso.isSlo) {
+ if(req.isPath(Api.ssoLogout) && sso.isSlo) {
String loginId = req.getParam(ParamName.loginId);
String secretkey = req.getParam(ParamName.secretkey);
@@ -92,7 +91,7 @@ public class SaSsoHandle {
StpLogic stpLogic = SaSsoUtil.saSsoTemplate.stpLogic;
// ---------- SSO-Client端:登录地址
- if(match(Api.ssoLogin)) {
+ if(req.isPath(Api.ssoLogin)) {
String back = req.getParam(ParamName.back, "/");
String ticket = req.getParam(ParamName.ticket);
@@ -136,7 +135,7 @@ public class SaSsoHandle {
}
// ---------- SSO-Client端:单点注销 [模式二]
- if(match(Api.ssoLogout) && sso.isSlo && sso.isHttp == false) {
+ if(req.isPath(Api.ssoLogout) && sso.isSlo && sso.isHttp == false) {
stpLogic.logout();
if(req.getParam(ParamName.back) == null) {
return SaResult.ok("单点注销成功");
@@ -146,7 +145,7 @@ public class SaSsoHandle {
}
// ---------- SSO-Client端:单点注销 [模式三]
- if(match(Api.ssoLogout) && sso.isSlo && sso.isHttp) {
+ if(req.isPath(Api.ssoLogout) && sso.isSlo && sso.isHttp) {
// 如果未登录,则无需注销
if(stpLogic.isLogin() == false) {
return SaResult.ok();
@@ -165,7 +164,7 @@ public class SaSsoHandle {
}
// ---------- SSO-Client端:单点注销的回调 [模式三]
- if(match(Api.ssoLogoutCall) && sso.isSlo && sso.isHttp) {
+ if(req.isPath(Api.ssoLogoutCall) && sso.isSlo && sso.isHttp) {
String loginId = req.getParam(ParamName.loginId);
String secretkey = req.getParam(ParamName.secretkey);
@@ -178,13 +177,4 @@ public class SaSsoHandle {
return SaSsoConsts.NOT_HANDLE;
}
- /**
- * 路由匹配算法
- * @param pattern 路由表达式
- * @return 是否可以匹配
- */
- static boolean match(String pattern) {
- return SaRouter.isMatchCurrURI(pattern);
- }
-
}
diff --git a/sa-token-doc/doc/sso/sso-cd.md b/sa-token-doc/doc/sso/sso-cd.md
index dc6cc763..4cee26df 100644
--- a/sa-token-doc/doc/sso/sso-cd.md
+++ b/sa-token-doc/doc/sso/sso-cd.md
@@ -10,7 +10,7 @@
##### 1.1、前端按钮跳转
前端页面准备一个**`[登录]`**按钮,当用户点击按钮时,跳转到登录接口
``` js
-登录
+登录
```
##### 1.2、后端拦截重定向