admin.go 679 B

1234567891011121314151617181920212223242526272829303132333435
  1. package middleware
  2. import (
  3. "Gwen/http/response"
  4. "Gwen/service"
  5. "github.com/gin-gonic/gin"
  6. )
  7. // AdminAuth 后台权限验证中间件
  8. func AdminAuth() gin.HandlerFunc {
  9. return func(c *gin.Context) {
  10. //测试先关闭
  11. token := c.GetHeader("api-token")
  12. if token == "" {
  13. response.Fail(c, 403, "请先登录")
  14. c.Abort()
  15. return
  16. }
  17. user, ut := service.AllService.UserService.InfoByAccessToken(token)
  18. if user.Id == 0 {
  19. response.Fail(c, 403, "请先登录")
  20. c.Abort()
  21. return
  22. }
  23. c.Set("curUser", user)
  24. c.Set("token", token)
  25. //如果时间小于1天,token自动续期
  26. service.AllService.UserService.AutoRefreshAccessToken(ut)
  27. c.Next()
  28. }
  29. }