From d7f6a85a4fd6705d9f4fc8f03ccc2b9eda865107 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期二, 06 二月 2024 10:11:54 +0800
Subject: [PATCH] 拦截器

---
 middleware/reset_pwd.go |   25 +++++++++++++++++++++++++
 pkg/ecode/code.go       |    1 +
 router/index.go         |    2 +-
 model/request/jwt.go    |    1 +
 4 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/middleware/reset_pwd.go b/middleware/reset_pwd.go
new file mode 100644
index 0000000..741b3ca
--- /dev/null
+++ b/middleware/reset_pwd.go
@@ -0,0 +1,25 @@
+package middleware
+
+import (
+	"aps_crm/model/request"
+	"aps_crm/pkg/contextx"
+	"aps_crm/pkg/ecode"
+	"github.com/gin-gonic/gin"
+)
+
+func VerifyResetPwd() gin.HandlerFunc {
+	return func(c *gin.Context) {
+		ctx := new(contextx.Context).SetCtx(c)
+		params, ok := c.Get("claims")
+		if !ok {
+			c.Abort()
+			return
+		}
+		claims := params.(*request.CustomClaims)
+		if !claims.ModifiedPwd {
+			ctx.Fail(ecode.DBErr)
+			c.Abort()
+			return
+		}
+	}
+}
diff --git a/model/request/jwt.go b/model/request/jwt.go
index 606e7b4..b257697 100644
--- a/model/request/jwt.go
+++ b/model/request/jwt.go
@@ -21,4 +21,5 @@
 	ParentId    string
 	UserType    constvar.UserType
 	AuthorityId uint
+	ModifiedPwd bool
 }
diff --git a/pkg/ecode/code.go b/pkg/ecode/code.go
index 58afd29..3332828 100644
--- a/pkg/ecode/code.go
+++ b/pkg/ecode/code.go
@@ -37,6 +37,7 @@
 	UserHasCluster                  = 2032 // 鍒犻櫎鐢ㄦ埛澶辫触锛岃鐢ㄦ埛涓嬪瓨鍦ㄩ泦缇�
 	NoPowerErr                      = 2033 //銆�娌℃湁鏉冮檺
 	UploadImageErr                  = 2034 //銆�涓婁紶鍥惧儚澶辫触
+	ResetPwd                        = 2036 //璐﹀彿璁剧疆瀵嗙爜
 
 	InvalidParams = 100001 // 璇锋眰鍙傛暟閿欒
 
diff --git a/router/index.go b/router/index.go
index 94aae0a..8d1ef47 100644
--- a/router/index.go
+++ b/router/index.go
@@ -112,7 +112,7 @@
 
 	PrivateGroup := Router.Group("api")
 	//PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler())
-	PrivateGroup.Use(middleware.JWTAuth2())
+	PrivateGroup.Use(middleware.JWTAuth2()).Use(middleware.VerifyResetPwd())
 	//PrivateGroup.Use(middleware.CasbinHandler())
 	{
 		routerGroup.InitJwtRouter(PrivateGroup) // jwt鐩稿叧璺敱

--
Gitblit v1.8.0