From c1d233545d7ea8885921ef326db5c041c5fbf0a2 Mon Sep 17 00:00:00 2001 From: louwenzhi Date: Thu, 20 May 2021 10:56:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E4=BA=8Erestful,=E6=9D=83=E9=99=90?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/rbac_model.conf | 2 +- web/middleware/casbins/casbins_test.go | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/conf/rbac_model.conf b/conf/rbac_model.conf index 454499f..899c70e 100644 --- a/conf/rbac_model.conf +++ b/conf/rbac_model.conf @@ -11,4 +11,4 @@ g = _, _ e = some(where (p.eft == allow)) [matchers] -m = r.sub == p.sub && r.obj == p.obj && r.act == p.act || r.sub == "admin" \ No newline at end of file +m = r.sub == p.sub && r.act == p.act && (r.obj == p.obj || keyMatch4(r.obj, p.obj)) || r.sub == "admin" \ No newline at end of file diff --git a/web/middleware/casbins/casbins_test.go b/web/middleware/casbins/casbins_test.go index ad01477..becd153 100644 --- a/web/middleware/casbins/casbins_test.go +++ b/web/middleware/casbins/casbins_test.go @@ -1,7 +1,6 @@ package casbins import ( - "LAPP_GAAS_GFrame_BACKEND/conf" "fmt" "github.com/casbin/casbin/v2" xormadapter "github.com/casbin/xorm-adapter/v2" @@ -12,17 +11,15 @@ import ( func TestGetEnforcer(t *testing.T) { - c := conf.DbConfig driveSource := fmt.Sprintf("server=%s;database=%s;user id=%s;password=%s;port=%d;encrypt=disable", - c.Masterdbserver, c.Masterdbname, c.Masterdbuser, c.Masterdbuser, c.Masterdbport) + "127.0.0.1", "GAAS_MOM", "sa", "Leit2020", 1433) - a, err := xormadapter.NewAdapter(c.Masterdbdrivername, driveSource, true) + a, err := xormadapter.NewAdapter("mssql", driveSource, true) if err != nil { log.Printf("连接数据库错误: %v", err) return } - - e, err := casbin.NewEnforcer("conf/rbac_model.conf", a) + e, err := casbin.NewEnforcer("D:\\GoWrok\\src\\leit.com\\LAPP_GAAS_GFrame_BACKEND\\conf\\rbac_model.conf", a) if err != nil { log.Printf("casbin初始化: %v", err) return @@ -31,14 +28,16 @@ func TestGetEnforcer(t *testing.T) { if err = e.LoadPolicy(); err == nil { } - //ok,err:=e.AddPolicy("admin", "admin/users/add", "POST") + fmt.Println(err) + //ok,err:=e.AddPolicy("test222", "/admin/base/person/checklogin/{personId}/{workPlaceNr}", "GET") //if err !=nil{ // log.Printf("AddPolicy错误: %v", err) //} //if ok{ // log.Printf("AddPolicy添加成功") //} - ok2,err:=e.Enforce("test222", "/admin/users/userlist", "GET") + ok2,err:=e.Enforce("目检", "/admin/base/person/checklogin/1/1", "GET") + fmt.Println(ok2) if !ok2{ fmt.Println("权限不通过") }else{