Эх сурвалжийг харах

add logout path not filtered

jflyfox 4 жил өмнө
parent
commit
fe147662e9
3 өөрчлөгдсөн 6 нэмэгдсэн , 2 устгасан
  1. 3 0
      ChangeLog.md
  2. 1 1
      README.md
  3. 2 1
      gtoken/gtoken.go

+ 3 - 0
ChangeLog.md

@@ -1,5 +1,8 @@
 Change Log 更新说明
 ------------------------------
+## 2020-11-30 v1.4.1
+1. Group Middleware加入登出放行逻辑;
+
 ## 2020-11-29 v1.4.0
 1. 加入Group Middleware实现,契合官网推荐方式;
 2. 完美兼容历史Global Middleware版本;

+ 1 - 1
README.md

@@ -92,7 +92,7 @@ func Login(r *ghttp.Request) (string, interface{}) {
 
 1. 分组中间件实现,不需要设置`AuthPaths`认证路径,设置也没有作用,**需要认证路径为该分组下所有路由**;
 2. 使用分组拦截的是通过GoFrame的`group.Middleware(authMiddleware)`方法,对该分组下的所有路由进行拦截;
-3. 对登录接口路径`loginPath`做拦截认证放行;
+3. 对登录接口路径`loginPath`和登出接口路径`logoutPath`做拦截认证放行,登出放行是为了避免认证过期无法登出情况
 4. 严格按照GoFrame分组中间件拦截优先级;如果使用跨域中间件,建议放在跨域中间件之后;
 5. 如果配置`AuthExcludePaths`路径,会将配置的不拦截路径排除;
 

+ 2 - 1
gtoken/gtoken.go

@@ -319,7 +319,8 @@ func (m *GfToken) AuthPath(urlPath string) bool {
 	}
 	// 分组拦截,登录接口不拦截
 	if m.MiddlewareType == MiddlewareTypeGroup {
-		if gstr.HasSuffix(urlPath, m.LoginPath) {
+		if gstr.HasSuffix(urlPath, m.LoginPath) ||
+			gstr.HasSuffix(urlPath, m.LogoutPath) {
 			return false
 		}
 	}