package dash import ( "net/http" "github.com/gin-contrib/sessions" "github.com/gin-gonic/gin" ) // RequireAuth checks if user is authenticated func RequireAuth() gin.HandlerFunc { return func(c *gin.Context) { session := sessions.Default(c) authenticated := session.Get("authenticated") username := session.Get("username") if authenticated != true || username == nil { c.Redirect(http.StatusTemporaryRedirect, "/login") c.Abort() return } // Set username in context for use in handlers c.Set("username", username) c.Next() } }