| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | package authimport (	"github.com/gin-gonic/gin"	"ulink-admin/modules/system/service")type AuthMiddleWare struct {	permissionService service.PermissionService	loginService      service.LoginService}// AuthCheck 中间件,检查访问权限func (a AuthMiddleWare) AuthCheck() gin.HandlerFunc {	return func(c *gin.Context) {		/*		authConfig := config.GetAuthConfig()				//调用过滤去将放行的请求先放行				if DoSquare(c) {					return				}				user := a.loginService.LoginUser(c)				url := c.Request.URL.Path				method := c.Request.Method				//app用户处理				if user.UserType != systemReq.SystemUserType && !strings.Contains(url, "/app/") {					c.JSON(http.StatusOK, gin.H{						"status": 403,						"msg":    "权限不足,无权限访问",					})					c.Abort()					return				}				if authConfig.IsOpen == "0" {					return				}				//admin, _ := c.Get("admin")				//超级管理员直接放行				if user.IsAdmin() {					return				}				//获取所有权限集合				allPerms := a.permissionService.GetAllPermission()				//不在数据库中进行了权限管理就直接放行 不判断权限				isFlag := false				for _, item := range *allPerms {					index := 0					ary := strings.Split(item, ":")					ary = append(ary[:index], ary[index+1:]...)					str := strings.Join(ary, "/")					if strings.Contains(url, str) {						isFlag = true						break					}				}				if !isFlag {					return				}				//权限集合				perms := a.permissionService.GetMenuPermission(user)				isHave := false				for _, item := range *perms {					index := 0					ary := strings.Split(item, ":")					ary = append(ary[:index], ary[index+1:]...)					str := strings.Join(ary, "/")					if strings.Contains(url, str) {						isHave = true						break					}				}				if !isHave {					c.JSON(http.StatusOK, gin.H{						"status": 403,						"msg":    "权限不足,无权限访问",					})					c.Abort()					return				}				fmt.Printf("%s||%s", url, method)*/	}}
 |