From a2e03bbf068061f0462b3651cbc961d4cbc937e8 Mon Sep 17 00:00:00 2001 From: "Mr. Lan" Date: Tue, 8 Sep 2020 23:01:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=8B=A5=E6=97=A0=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=9D=83=E9=99=90=EF=BC=8C=E6=8F=90=E7=A4=BA=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E9=82=A3=E4=B8=AA=E6=8E=A5=E5=8F=A3=E6=9D=83=E9=99=90=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- middleware/permission.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/middleware/permission.go b/middleware/permission.go index 8767ff3..4694875 100644 --- a/middleware/permission.go +++ b/middleware/permission.go @@ -1,11 +1,14 @@ package middleware import ( + "ferry/global/orm" + "ferry/models/system" mycasbin "ferry/pkg/casbin" "ferry/pkg/jwtauth" _ "ferry/pkg/jwtauth" "ferry/pkg/logger" "ferry/tools" + "fmt" "net/http" "github.com/gin-gonic/gin" @@ -14,6 +17,8 @@ import ( //权限检查中间件 func AuthCheckRole() gin.HandlerFunc { return func(c *gin.Context) { + var menuValue system.Menu + data, _ := c.Get("JWT_PAYLOAD") v := data.(jwtauth.MapClaims) e, err := mycasbin.Casbin() @@ -24,12 +29,17 @@ func AuthCheckRole() gin.HandlerFunc { tools.HasError(err, "", 500) + err = orm.Eloquent.Model(&menuValue). + Where("path = ? and action = ?", c.Request.URL.Path, c.Request.Method). + Find(&menuValue).Error + tools.HasError(err, "", 500) + if res { c.Next() } else { c.JSON(http.StatusOK, gin.H{ "code": 403, - "msg": "对不起,您没有该接口访问权限,请联系管理员", + "msg": fmt.Sprintf("对不起,您没有 <%v> 访问权限,请联系管理员", menuValue.Title), }) c.Abort() return