Игнорировать маршрут из безопасной группы с Джином - PullRequest
1 голос
/ 13 марта 2020

Я пытаюсь исключить маршрут из моей защищенной группы в Джине, чтобы быть доступным для неаутентифицированных пользователей.

Итак, у меня есть защищенная группа, которая использует базовый маршрут, и я хотел бы предоставить /api/health, чтобы она не использовала безопасный authenticateUser(), который затем перенаправляет на страницу входа.

Я объявляю свои маршруты и группы следующим образом:

router.GET("/api/health", func(c *gin.Context) {
    c.Status(http.StatusOK)
})

secure := router.Group("/")
secure.Use(authenticateUser())

, и это моя authenticateUser функция

func authenticateUser() gin.HandlerFunc {
  return func(c *gin.Context) {
    session := sessions.Default(c)

    userId, name, avatar, orgId, orgName, role := session.User()
    if userId == sessions.NoUserId {
        c.Abort()
        c.Redirect(http.StatusFound, "/login")
        return
    }

    auth.SetUser(c, userId, name, avatar, orgId, orgName, role)
    c.Next()
  }
}
...