Skip to content

Commit

Permalink
Revert "修复并发请求API情况下的读写冲突问题 (#1395)" (#1404)
Browse files Browse the repository at this point in the history
This reverts commit 69aa64f.
  • Loading branch information
奇淼(piexlmax committed Apr 1, 2023
1 parent 854cb59 commit da0d02b
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion server/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ require (
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751
github.com/aliyun/aliyun-oss-go-sdk v2.1.6+incompatible
github.com/aws/aws-sdk-go v1.42.27
github.com/casbin/casbin/v2 v2.66.0
github.com/casbin/casbin/v2 v2.51.0
github.com/casbin/gorm-adapter/v3 v3.7.3
github.com/flipped-aurora/ws v1.0.2
github.com/fsnotify/fsnotify v1.4.9
Expand Down
2 changes: 0 additions & 2 deletions server/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJm
github.com/casbin/casbin/v2 v2.37.4/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg=
github.com/casbin/casbin/v2 v2.51.0 h1:BC41imD9Z2coIJpELapy2h5kMT+lB4vFDTYpMhTsU4A=
github.com/casbin/casbin/v2 v2.51.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg=
github.com/casbin/casbin/v2 v2.66.0 h1:yyccSWtCvIs277FPIHG6pjl2IXdejRH/vpMiDuNCiEU=
github.com/casbin/casbin/v2 v2.66.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg=
github.com/casbin/gorm-adapter/v3 v3.7.3 h1:tp3EL3vS31dF+GX0n3QwUytQlrFOPXtOKKZ7SZtLOA8=
github.com/casbin/gorm-adapter/v3 v3.7.3/go.mod h1:7mwHmC2phiw6N4gDWlzi+c4DUX7zaVmQC/hINsRgBDg=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
Expand Down
28 changes: 15 additions & 13 deletions server/service/system/sys_casbin.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,15 @@ package system

import (
"errors"
"strconv"
"sync"

"github.com/casbin/casbin/v2"
"github.com/casbin/casbin/v2/model"
gormadapter "github.com/casbin/gorm-adapter/v3"
_ "github.com/go-sql-driver/mysql"
"go.uber.org/zap"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/system/request"
_ "github.com/go-sql-driver/mysql"
"go.uber.org/zap"
"strconv"
"sync"
)

//@author: [piexlmax](https://github.com/piexlmax)
Expand Down Expand Up @@ -99,13 +98,17 @@ func (casbinService *CasbinService) ClearCasbin(v int, p ...string) bool {
//@return: *casbin.Enforcer

var (
syncedCachedEnforcer *casbin.SyncedCachedEnforcer
cachedEnforcer *casbin.CachedEnforcer
once sync.Once
)

func (casbinService *CasbinService) Casbin() *casbin.SyncedCachedEnforcer {
func (casbinService *CasbinService) Casbin() *casbin.CachedEnforcer {
once.Do(func() {
a, _ := gormadapter.NewAdapterByDB(global.GVA_DB)
a, err := gormadapter.NewAdapterByDB(global.GVA_DB)
if err != nil {
zap.L().Error("适配数据库失败请检查casbin表是否为InnoDB引擎!", zap.Error(err))
return
}
text := `
[request_definition]
r = sub, obj, act
Expand All @@ -127,10 +130,9 @@ func (casbinService *CasbinService) Casbin() *casbin.SyncedCachedEnforcer {
zap.L().Error("字符串加载模型失败!", zap.Error(err))
return
}

syncedCachedEnforcer, _ = casbin.NewSyncedCachedEnforcer(m, a)
syncedCachedEnforcer.SetExpireTime(3600)
_ = syncedCachedEnforcer.LoadPolicy()
cachedEnforcer, _ = casbin.NewCachedEnforcer(m, a)
cachedEnforcer.SetExpireTime(60 * 60)
_ = cachedEnforcer.LoadPolicy()
})
return syncedCachedEnforcer
return cachedEnforcer
}

0 comments on commit da0d02b

Please sign in to comment.