liuxiaolong
2019-10-11 b0500fee9c01e17c81b9293b244c8ed88dc9ca29
middlewares/auth/auth.go
@@ -4,8 +4,10 @@
   "github.com/gin-gonic/gin"
   "net/http"
   "strings"
   "webserver/extend/code"
   "webserver/extend/config"
   "webserver/extend/logger"
   "basic.com/valib/logger.git"
   "webserver/extend/util"
)
const (
@@ -28,28 +30,36 @@
func AuthHandler() gin.HandlerFunc {
   return func(c *gin.Context) {
      urlPath := c.Request.URL.Path
      if strings.Contains(urlPath,"/data/api-v") && !strings.Contains(urlPath,"login"){
         //jwtDriver :=NewJwtAuthDriver()
         //if !jwtDriver.Check(c) {
         //   util.ResponseFormat(c,code.TokenNotFound,"尚未登录,请登录")
         //   c.Abort()
         //}
         jwtDriver :=NewJwtAuthDriver()
         if !jwtDriver.Check(c) {
            util.ResponseFormat(c,code.TokenNotFound,"尚未登录,请登录")
            c.Abort()
         }
         c.Next()
      } else if strings.HasPrefix(urlPath,"/httpImage") {
         imgUrl := config.Server.ImageUrl
      } else if strings.Contains(urlPath,"/httpImage") {
         domain := config.Server.PublicDomain
         //domainReg := regexp.MustCompile(``+domain+``)
         //if domainReg.MatchString(host) {//域名访问
         //   imgUrl = domain
         //}
         urlPath = strings.Replace(urlPath, "/httpImage", "", -1)
         idx := strings.Index(urlPath, ":")
         tmpPath := urlPath
         if strings.Contains(urlPath,domain) {
            urlPath = strings.Replace(urlPath,"/"+domain,"",-1)
         }
         logger.Debug("urlPath:",urlPath)
         idx := strings.LastIndex(urlPath, ":")
         tmpPath := ""
         if idx >-1 {//路径中包含有端口,取端口以后路径
            tmpPath = urlPath[idx:]
            imgIndx := strings.LastIndex(imgUrl, ":")
            if imgIndx > -1 {
               imgUrl = imgUrl[:imgIndx]
            }
         } else {
            tmpPath = ":6080"+tmpPath
         }
         logger.Debug("imgUrl+tmpPath:", imgUrl+tmpPath)
         c.Header("Access-Control-Allow-Origin","*")
         c.Redirect(http.StatusMovedPermanently, imgUrl+tmpPath)
         logger.Debug("domain+tmpPath:",domain+tmpPath)
         c.Redirect(http.StatusMovedPermanently, domain+tmpPath)
         return
      } else {
         c.Next()