From 84d2953e7b641600779e7aecc80bdd35e96d31d6 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期二, 06 二月 2024 10:13:12 +0800
Subject: [PATCH] 拦截器
---
middleware/reset_pwd.go | 25 +++++++++++++++++++++++++
request/jwt.go | 9 +++++----
pkg/ecode/code.go | 1 +
initialize/router.go | 2 +-
4 files changed, 32 insertions(+), 5 deletions(-)
diff --git a/initialize/router.go b/initialize/router.go
index b54d472..d7c2901 100644
--- a/initialize/router.go
+++ b/initialize/router.go
@@ -40,7 +40,7 @@
PrivateGroup.GET("previewContract", conApi.PreviewContract) // 棰勮Contract
PrivateGroup.GET("downloadContract", conApi.DownloadContract) // 涓嬭浇Contract
- PrivateGroup.Use(middleware.JWTAuth())
+ PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.VerifyResetPwd())
{
systemRouter.InitSystemRouter(PrivateGroup) // system鐩稿叧璺敱
//exampleRouter.InitFileUploadAndDownloadRouter(PrivateGroup) // 鏂囦欢涓婁紶涓嬭浇鍔熻兘璺敱
diff --git a/middleware/reset_pwd.go b/middleware/reset_pwd.go
new file mode 100644
index 0000000..c398a87
--- /dev/null
+++ b/middleware/reset_pwd.go
@@ -0,0 +1,25 @@
+package middleware
+
+import (
+ "github.com/gin-gonic/gin"
+ "srm/pkg/contextx"
+ "srm/pkg/ecode"
+ "srm/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 0e3b5a4..f9a15a7 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
}
--
Gitblit v1.8.0