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