From 7139b676cfccf1c204fade01e865163f9765be55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=87=E6=B7=BC=EF=BC=88piexlmax?= <303176530@qq.com> Date: Thu, 20 May 2021 10:13:33 +0800 Subject: [PATCH 1/5] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9e2d7c15..32213fc0 100644 --- a/README.md +++ b/README.md @@ -223,12 +223,12 @@ zap: #### 2.3.1 安装 swagger -##### (1)可以科学上网 +##### (1)可以访问外国网站 ```` go get -u github.com/swaggo/swag/cmd/swag ```` -##### (2)无法科学上网 +##### (2)无法访问外国网站 由于国内没法安装 go.org/x 包下面的东西,推荐使用 [goproxy.io](https://goproxy.io/zh/) From 430a22be67ac798718aa6cabcc79d05bc24bd143 Mon Sep 17 00:00:00 2001 From: songzhibin97 <718428482@qq.com> Date: Thu, 20 May 2021 10:49:00 +0800 Subject: [PATCH 2/5] fix casbin datarace --- server/service/sys_casbin.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/service/sys_casbin.go b/server/service/sys_casbin.go index 6e72c5ff..556dd086 100644 --- a/server/service/sys_casbin.go +++ b/server/service/sys_casbin.go @@ -91,8 +91,9 @@ func ClearCasbin(v int, p ...string) bool { //@return: *casbin.Enforcer var ( - e *casbin.Enforcer - once sync.Once + e *casbin.Enforcer + once sync.Once + eLock sync.Mutex ) func Casbin() *casbin.Enforcer { @@ -101,7 +102,9 @@ func Casbin() *casbin.Enforcer { e, _ = casbin.NewEnforcer(global.GVA_CONFIG.Casbin.ModelPath, a) e.AddFunction("ParamsMatch", ParamsMatchFunc) }) + eLock.Lock() _ = e.LoadPolicy() + eLock.Unlock() return e } From 86cfebb064f18c3a8e2f105594c46940cb4387c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=87=E6=B7=BC=EF=BC=88piexlmax?= Date: Thu, 20 May 2021 11:05:44 +0800 Subject: [PATCH 3/5] Revert "Gva gormv2 dev" --- server/service/sys_casbin.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/server/service/sys_casbin.go b/server/service/sys_casbin.go index 556dd086..6e72c5ff 100644 --- a/server/service/sys_casbin.go +++ b/server/service/sys_casbin.go @@ -91,9 +91,8 @@ func ClearCasbin(v int, p ...string) bool { //@return: *casbin.Enforcer var ( - e *casbin.Enforcer - once sync.Once - eLock sync.Mutex + e *casbin.Enforcer + once sync.Once ) func Casbin() *casbin.Enforcer { @@ -102,9 +101,7 @@ func Casbin() *casbin.Enforcer { e, _ = casbin.NewEnforcer(global.GVA_CONFIG.Casbin.ModelPath, a) e.AddFunction("ParamsMatch", ParamsMatchFunc) }) - eLock.Lock() _ = e.LoadPolicy() - eLock.Unlock() return e } From eac01bdc92b8fbde9f6d2269d58015ad17804afa Mon Sep 17 00:00:00 2001 From: pixel <303176530@qq.com> Date: Thu, 20 May 2021 11:23:30 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dmap=E7=AB=9E=E4=BA=89?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/service/sys_casbin.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/server/service/sys_casbin.go b/server/service/sys_casbin.go index 556dd086..a83c0202 100644 --- a/server/service/sys_casbin.go +++ b/server/service/sys_casbin.go @@ -101,10 +101,8 @@ func Casbin() *casbin.Enforcer { a, _ := gormadapter.NewAdapterByDB(global.GVA_DB) e, _ = casbin.NewEnforcer(global.GVA_CONFIG.Casbin.ModelPath, a) e.AddFunction("ParamsMatch", ParamsMatchFunc) + _ = e.LoadPolicy() }) - eLock.Lock() - _ = e.LoadPolicy() - eLock.Unlock() return e } From 5ffc56dc35196f215b82ba60efb9b6f79cfd10b9 Mon Sep 17 00:00:00 2001 From: SliverHorn Date: Thu, 20 May 2021 16:54:56 +0800 Subject: [PATCH 5/5] fix: remove casbin init single case --- server/service/sys_casbin.go | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/server/service/sys_casbin.go b/server/service/sys_casbin.go index 6e28a7f2..0c0fb340 100644 --- a/server/service/sys_casbin.go +++ b/server/service/sys_casbin.go @@ -5,13 +5,11 @@ import ( "gin-vue-admin/global" "gin-vue-admin/model" "gin-vue-admin/model/request" - "strings" - "sync" - "github.com/casbin/casbin/v2" "github.com/casbin/casbin/v2/util" gormadapter "github.com/casbin/gorm-adapter/v3" _ "github.com/go-sql-driver/mysql" + "strings" ) //@author: [piexlmax](https://github.com/piexlmax) @@ -90,18 +88,11 @@ func ClearCasbin(v int, p ...string) bool { //@description: 持久化到数据库 引入自定义规则 //@return: *casbin.Enforcer -var ( - e *casbin.Enforcer - once sync.Once -) - func Casbin() *casbin.Enforcer { - once.Do(func() { - a, _ := gormadapter.NewAdapterByDB(global.GVA_DB) - e, _ = casbin.NewEnforcer(global.GVA_CONFIG.Casbin.ModelPath, a) - e.AddFunction("ParamsMatch", ParamsMatchFunc) - _ = e.LoadPolicy() - }) + a, _ := gormadapter.NewAdapterByDB(global.GVA_DB) + e, _ := casbin.NewEnforcer(global.GVA_CONFIG.Casbin.ModelPath, a) + e.AddFunction("ParamsMatch", ParamsMatchFunc) + _ = e.LoadPolicy() return e }