修改jwt拦截处理,添加错误问题

This commit is contained in:
junleea 2025-05-18 14:24:50 +08:00
parent 0a02b2e6dd
commit b1205306e4
1 changed files with 4 additions and 20 deletions

24
main.go
View File

@ -100,18 +100,6 @@ func writeLogger(c *gin.Context) {
}
go dao.InsertLogToDB(path, ip, method, params)
}
type CustomClaims struct {
ID int `json:"id"`
Username string `json:"username"`
Email string `json:"email"`
}
func (c CustomClaims) Valid() error {
//TODO implement me
panic("custom claims valid not implement yet!")
}
func JWTAuthMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
if proto.Config.LOG_SAVE_DAYS > 0 {
@ -168,9 +156,7 @@ func JWTAuthMiddleware() gin.HandlerFunc {
//token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) {
// return proto.SigningKey, nil
//})
claims := &CustomClaims{}
token, err := jwt.ParseWithClaims(tokenString, claims, func(t *jwt.Token) (interface{}, error) {
token, err := jwt.Parse(tokenString, func(t *jwt.Token) (interface{}, error) {
// 验证签名算法
if _, ok := t.Method.(*jwt.SigningMethodHMAC); !ok {
return nil, jwt.ErrSignatureInvalid
@ -196,13 +182,11 @@ func JWTAuthMiddleware() gin.HandlerFunc {
}
// 将用户信息添加到上下文中
c.Set("id", token.Claims.(jwt.MapClaims)["id"])
c.Set("username", token.Claims.(jwt.MapClaims)["username"])
id := token.Claims.(jwt.MapClaims)["id"]
userID := int(id.(float64))
c.Set("user_id", userID)
c.Set("id", id)
c.Set("user_id", int(id.(float64)))
if UserFuncIntercept(int(token.Claims.(jwt.MapClaims)["id"].(float64)), c.Request.URL.Path) {
if UserFuncIntercept(int(id.(float64)), c.Request.URL.Path) {
c.AbortWithStatusJSON(http.StatusOK, gin.H{"message": "unauthorized", "error": "no function permission", "code": proto.NoPermission})
return
}