From d4b62e5dcaf10b85600c13de232bb5173a11d4fc Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期二, 06 二月 2024 10:14:46 +0800
Subject: [PATCH] 拦截器
---
middleware/reset_pwd.go | 25 +++++++++++++++++++++++++
request/jwt.go | 9 +++++----
pkg/ecode/code.go | 1 +
router/router.go | 1 +
4 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/middleware/reset_pwd.go b/middleware/reset_pwd.go
new file mode 100644
index 0000000..f35ae56
--- /dev/null
+++ b/middleware/reset_pwd.go
@@ -0,0 +1,25 @@
+package middleware
+
+import (
+ "github.com/gin-gonic/gin"
+ "wms/pkg/contextx"
+ "wms/pkg/ecode"
+ "wms/request"
+)
+
+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.ResetPwd)
+ c.Abort()
+ return
+ }
+ }
+}
diff --git a/pkg/ecode/code.go b/pkg/ecode/code.go
index aa74251..d7fd60b 100644
--- a/pkg/ecode/code.go
+++ b/pkg/ecode/code.go
@@ -18,4 +18,5 @@
JWTEmpty = 2013 // JWT涓虹┖
JWTExpire = 2014 // JWT杩囨湡
JWTParseErr = 2015 // JWT瑙f瀽澶辫触
+ ResetPwd = 2036 //璐﹀彿璁剧疆瀵嗙爜
)
diff --git a/request/jwt.go b/request/jwt.go
index dece0f1..da7fb70 100644
--- a/request/jwt.go
+++ b/request/jwt.go
@@ -13,8 +13,9 @@
}
type BaseClaims struct {
- UserId string
- Username string
- ParentId string
- UserType constvar.UserType
+ UserId string
+ Username string
+ ParentId string
+ UserType constvar.UserType
+ ModifiedPwd bool
}
diff --git a/router/router.go b/router/router.go
index e7565eb..d6a01d0 100644
--- a/router/router.go
+++ b/router/router.go
@@ -21,6 +21,7 @@
urlPrefix := "/api-wms/v1"
r.Use(middleware.JWTAuth())
+ r.Use(middleware.VerifyResetPwd())
// 缁勭粐绠$悊
departmentController := new(controllers.DepartmentController)
--
Gitblit v1.8.0