jiangshuai
2024-02-06 84d2953e7b641600779e7aecc80bdd35e96d31d6
拦截器
1个文件已添加
3个文件已修改
37 ■■■■ 已修改文件
initialize/router.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
middleware/reset_pwd.go 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pkg/ecode/code.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
request/jwt.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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) // 文件上传下载功能路由
middleware/reset_pwd.go
New file
@@ -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
        }
    }
}
pkg/ecode/code.go
@@ -18,4 +18,5 @@
    JWTEmpty              = 2013 // JWT为空
    JWTExpire             = 2014 // JWT过期
    JWTParseErr           = 2015 // JWT解析失败
    ResetPwd              = 2036 //账号设置密码
)
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
}