1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package middleware
- import (
- "github.com/gin-gonic/gin"
- "hongze/hongze_yb/controller/response"
- "hongze/hongze_yb/models/tables/wx_user"
- "hongze/hongze_yb/services/company"
- "hongze/hongze_yb/services/user"
- "hongze/hongze_yb/utils"
- "strconv"
- )
- // CheckCygxAuth 如果带thirdCode就可以看,如果有权限也给其他权限
- func CheckCygxAuth() gin.HandlerFunc {
- return func(c *gin.Context) {
- userInfo := user.GetInfoByClaims(c)
- thirdCodeEncrypt := c.Request.Header.Get("thirdCode")
- if thirdCodeEncrypt != "" {
- thirdCode := utils.DesBase64Decrypt([]byte(thirdCodeEncrypt))
- userId, err := strconv.Atoi(string(thirdCode))
- if err != nil {
- response.FailMsg("参数错误", "参数错误", c)
- c.Abort()
- return
- }
- _, err = wx_user.GetByUserId(userId)
- if err != nil {
- response.FailMsg("获取用户信息失败", "获取用户信息失败", c)
- c.Abort()
- return
- }
- } else {
- ok, checkInfo, _, err := company.CheckBaseFiccPermission(userInfo.CompanyID, int(userInfo.UserID))
- if err != nil {
- response.FailMsg("用户权限验证失败", "CheckBaseAuth-用户权限验证失败"+err.Error(), c)
- c.Abort()
- return
- }
- if !ok {
- response.AuthError(checkInfo, "暂无权限", c)
- c.Abort()
- return
- }
- }
- c.Next()
- }
- }
|