blog_backend_api/controller/middle/auth.go

43 lines
830 B
Go

package middle
import (
"background/config"
"background/controller"
"background/model"
"encoding/json"
"github.com/gin-gonic/gin"
"log"
)
func AuthMiddle(c *gin.Context) {
token := c.Query("token")
user := c.Query("userid")
if user == "" || token == ""{
log.Print("error user not existed or token missing")
log.Print(c.Request.URL.String())
c.JSON(200,controller.RespBase{
"auth err",20,nil,
})
c.Abort()
return
}
if config.RedisOne().Exists(token).Val() {
users := model.Users{}
userInfo := config.RedisOne().Get(token).Val()
e := json.Unmarshal([]byte(userInfo),&users)
if nil != e{
c.JSON(200,controller.RespBase{
"auth err",10,nil,
})
c.Abort()
return
}
}else {
c.JSON(200,controller.RespBase{
"expired or no login",210,nil,
})
c.Abort()
return
}
c.Next()
}