check_cygx_auth.go 912 B

123456789101112131415161718192021222324252627282930313233343536
  1. package middleware
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "hongze/hongze_yb/controller/response"
  5. "hongze/hongze_yb/services/company"
  6. "hongze/hongze_yb/services/user"
  7. "hongze/hongze_yb/utils"
  8. )
  9. // CheckCygxAuth 如果带thirdCode就可以看,如果有权限也给其他权限
  10. func CheckCygxAuth() gin.HandlerFunc {
  11. return func(c *gin.Context) {
  12. userInfo := user.GetInfoByClaims(c)
  13. thirdCodeEncrypt := c.Request.Header.Get("thirdCode")
  14. thirdCode := utils.DesBase64Encrypt([]byte(thirdCodeEncrypt))
  15. if len(thirdCode) == 0 {
  16. ok, checkInfo, _, err := company.CheckBaseFiccPermission(userInfo.CompanyID, int(userInfo.UserID))
  17. if err != nil {
  18. response.FailMsg("用户权限验证失败", "CheckBaseAuth-用户权限验证失败"+err.Error(), c)
  19. c.Abort()
  20. return
  21. }
  22. if !ok {
  23. response.AuthError(checkInfo, "暂无权限", c)
  24. c.Abort()
  25. return
  26. }
  27. }
  28. c.Next()
  29. }
  30. }