Files
wk-backend/internal/middleware/session_middleware.go
zhilv 858c29a799 init: 第一次提交
- 以实现登录获取个人信息和课程
- 实现了获取视频记录
- 实现了学习接口
2026-03-25 22:39:44 +08:00

25 lines
481 B
Go

package middleware
import (
"ckwk/internal/ckwk"
"ckwk/internal/dto"
"net/http"
"github.com/gin-gonic/gin"
)
func SessionMiddleware(sm *ckwk.SessionManager) gin.HandlerFunc {
return func(ctx *gin.Context) {
sessionID := ctx.GetHeader("X-Session-Id")
wk, ok := sm.Get(sessionID)
if !ok {
ctx.JSON(http.StatusUnauthorized, dto.Error(401, "登录过期"))
ctx.Abort()
return
}
ctx.Set("wk_instance", wk)
ctx.Set("session_id", sessionID)
ctx.Next()
}
}