liuxiaolong
2020-06-05 7c811247ecf143e08c576986a884bedadc57dd66
middlewares/auth/auth.go
@@ -15,9 +15,10 @@
type Auth interface {
   Check(c *gin.Context)bool
   User(c *gin.Context)interface{}
   Login(http *http.Request,w http.ResponseWriter,user map[string]interface{})interface{}
   User(c *gin.Context)map[string]interface{}
   Login(http *http.Request,w http.ResponseWriter,user map[string]interface{}) (bool, string, string)
   Logout(http *http.Request,w http.ResponseWriter) bool
   RefreshToken(tokenStr string) (bool, string, string)
}
func GenerateAuthDriver() *Auth {
@@ -56,18 +57,24 @@
   return func(c *gin.Context) {
      urlPath := c.Request.URL.Path
      if strings.Contains(urlPath,"/data/api-v") && !strings.Contains(urlPath,"login"){
      if strings.Contains(urlPath,"/data/api-") && !strings.Contains(urlPath,"login") && !strings.Contains(urlPath, "/data/api-v/license") && !strings.Contains(urlPath, "/data/api-v/info/"){
         jwtDriver :=NewJwtAuthDriver()
         if !jwtDriver.Check(c) {
            util.ResponseFormat(c,code.TokenNotFound,"尚未登录,请登录")
            c.Abort()
            return
         }
         user := (*jwtDriver).User(c)
         loginM := user.(map[string]interface{})
         userId := loginM["id"].(string)
         userM := (*jwtDriver).User(c)
         if userM == nil {
            util.ResponseFormat(c,code.TokenNotFound,"尚未登录,请登录")
            c.Abort()
            return
         }
         userId := userM["id"].(string)
         if OutUser(userId) {
            util.ResponseFormat(c,code.TokenNotFound,"尚未登录,请登录")
            c.Abort()
            return
         }
         c.Next()
      } else {
@@ -77,5 +84,5 @@
}
func GetCurUser(c *gin.Context)map[string]interface{}{
   return (*GenerateAuthDriver()).User(c).(map[string]interface{})
}
   return (*GenerateAuthDriver()).User(c)
}