12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package middleware
- import (
- "gadmin/utility/serializer"
- "gadmin/utility/token"
- "github.com/gin-gonic/gin"
- "github.com/sirupsen/logrus"
- )
- // 路由白名单
- var whitelist = []string{
- "/api/gm/userRoles",
- }
- // Token 验证token
- func Token() gin.HandlerFunc {
- return func(c *gin.Context) {
- if isWhite(c.Request.URL.Path) {
- c.Next()
- return
- }
- t := token.GetAuthorization(c)
- if t == "" {
- c.JSON(200, serializer.CheckLogin())
- c.Abort()
- return
- }
- claims, err := token.ParseToken(t)
- if err != nil {
- logrus.Warningf("middleware token.ParseToken:%+v", err.Error())
- //c.JSON(200, serializer.Err(consts.CodeCheckLogin, err.Error(), nil)) // 会导致无法重新登录
- c.JSON(200, serializer.CheckLogin())
- c.Abort()
- return
- }
- //if os.Getenv("GIN_MODE") == "release" && claims.UserName == "mojun" {
- // c.JSON(200, serializer.CheckLogin())
- // c.Abort()
- // return
- //}
- c.Set("user", claims)
- c.Next()
- return
- }
- }
- func isWhite(path string) bool {
- for _, v := range whitelist {
- if path == v {
- return true
- }
- }
- return false
- }
|