login_ware.go 720 B

1234567891011121314151617181920212223242526272829303132
  1. package middleware
  2. import (
  3. sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
  4. "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
  5. "github.com/gin-gonic/gin"
  6. )
  7. func LoginWare() gin.HandlerFunc {
  8. return func(c *gin.Context) {
  9. //验证登陆
  10. token := c.GetHeader("token")
  11. if token == "" {
  12. c.AbortWithStatusJSON(401, sysmodel.SysReturn{401, "token is empty", ""})
  13. c.Redirect(302, "/login")
  14. return
  15. }
  16. tk := utils.GetGlobalTokenStore().Get(token)
  17. if tk == nil {
  18. c.AbortWithStatusJSON(401, sysmodel.SysReturn{401, "token Invalid", ""})
  19. c.Redirect(302, "/login")
  20. return
  21. }
  22. c.Set("token", tk)
  23. c.Set("user_id", tk.UserId)
  24. c.Set("domain", tk.Domain)
  25. c.Next()
  26. }
  27. }