login_ware.go 691 B

12345678910111213141516171819202122232425262728293031
  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.Next()
  25. }
  26. }