提交 6f6178ab 编写于 作者: m0_50812349's avatar m0_50812349

fix: Enforcer => SyncedEnforcer Solve Map Preemption

上级 5ffc56dc
# Gin-Vue-Admin Global Configuration aliyun-oss:
endpoint: yourEndpoint
# jwt configuration access-key-id: yourAccessKeyId
jwt: access-key-secret: yourAccessKeySecret
signing-key: 'qmPlus' bucket-name: yourBucketName
expires-time: 604800 bucket-url: yourBucketUrl
buffer-time: 86400
# zap logger configuration
zap:
level: 'info'
format: 'console'
prefix: '[GIN-VUE-ADMIN]'
director: 'log'
link-name: 'latest_log'
show-line: true
encode-level: 'LowercaseColorLevelEncoder'
stacktrace-key: 'stacktrace'
log-in-console: true
# redis configuration
redis:
db: 0
addr: '127.0.0.1:6379'
password: ''
# email configuration
email:
to: 'xxx@qq.com'
port: 465
from: 'xxx@163.com'
host: 'smtp.163.com'
is-ssl: true
secret: 'xxx'
nickname: 'test'
# casbin configuration
casbin:
model-path: './resource/rbac_model.conf'
# system configuration
system:
env: 'public' # Change to "develop" to skip authentication for development mode
addr: 8888
db-type: 'mysql'
oss-type: 'local' # 控制oss选择走本期还是 七牛等其他仓 自行增加其他oss仓可以在 server/utils/upload/upload.go 中 NewOss函数配置
use-multipoint: false
# captcha configuration
captcha:
key-long: 6
img-width: 240
img-height: 80
# mysql connect configuration
mysql:
path: ''
config: ''
db-name: ''
username: ''
password: ''
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
# local configuration
local:
path: 'uploads/file'
# autocode configuration
autocode: autocode:
transfer-restart: true transfer-restart: true
root: "" root: /Users/sliverhorn/Go/src/github.com/flipped-aurora/gin-vue-admin
server: /server server: /server
server-api: /api/v1 server-api: /api/v1
server-initialize: /initialize server-initialize: /initialize
...@@ -81,51 +16,80 @@ autocode: ...@@ -81,51 +16,80 @@ autocode:
server-service: /service server-service: /service
web: /web/src web: /web/src
web-api: /api web-api: /api
web-flow: /view
web-form: /view web-form: /view
web-table: /view web-table: /view
web-flow: /view
# qiniu configuration (请自行七牛申请对应的 公钥 私钥 bucket 和 域名地址) captcha:
key-long: 6
img-width: 240
img-height: 80
casbin:
model-path: ./resource/rbac_model.conf
email:
to: xxx@qq.com
port: 465
from: xxx@163.com
host: smtp.163.com
is-ssl: true
secret: xxx
nickname: test
excel:
dir: ./resource/excel/
jwt:
signing-key: qmPlus
expires-time: 604800
buffer-time: 86400
local:
path: uploads/file
mysql:
path: 127.0.0.1:13307
config: charset=utf8mb4&parseTime=True&loc=Local
db-name: gva
username: root
password: gdkid,,..
max-idle-conns: 0
max-open-conns: 0
log-mode: false
log-zap: ""
qiniu: qiniu:
zone: 'ZoneHuaDong' zone: ZoneHuaDong
bucket: '' bucket: ""
img-path: '' img-path: ""
use-https: false use-https: false
access-key: '' access-key: ""
secret-key: '' secret-key: ""
use-cdn-domains: false use-cdn-domains: false
redis:
db: 0
# aliyun oss configuration addr: 127.0.0.1:6379
aliyun-oss: password: ""
endpoint: 'yourEndpoint' system:
access-key-id: 'yourAccessKeyId' env: public
access-key-secret: 'yourAccessKeySecret' addr: 8888
bucket-name: 'yourBucketName' db-type: mysql
bucket-url: 'yourBucketUrl' oss-type: local
use-multipoint: false
# tencent cos configuration
tencent-cos: tencent-cos:
bucket: 'xxxxx-10005608' bucket: xxxxx-10005608
region: 'ap-shanghai' region: ap-shanghai
secret-id: 'xxxxxxxx' secret-id: xxxxxxxx
secret-key: 'xxxxxxxx' secret-key: xxxxxxxx
base-url: 'https://gin.vue.admin' base-url: https://gin.vue.admin
path-prefix: 'gin-vue-admin' path-prefix: gin-vue-admin
timer:
# excel configuration start: false
excel: spec: '@daily'
dir: './resource/excel/' detail:
- tableName: sys_operation_records
compareField: created_at
# timer task db clear table interval: 2160h
Timer: zap:
spec: "@daily" # 定时任务详细配置参考 https://pkg.go.dev/github.com/robfig/cron?utm_source=godoc level: info
detail: [ format: console
# tableName: 需要清理的表名 prefix: '[GIN-VUE-ADMIN]'
# compareField: 需要比较时间的字段 director: log
# interval: 时间间隔, 具体配置详看 time.ParseDuration() 中字符串表示 且不能为负数 link-name: latest_log
# 2160h = 24 * 30 * 3 -> 三个月 showLine: true
{ tableName: "sys_operation_records" , compareField: "created_at", interval: "2160h" }, encode-level: LowercaseColorLevelEncoder
#{ tableName: "log2" , compareField: "created_at", interval: "2160h" } stacktrace-key: stacktrace
] log-in-console: true
...@@ -10,6 +10,7 @@ import ( ...@@ -10,6 +10,7 @@ import (
gormadapter "github.com/casbin/gorm-adapter/v3" gormadapter "github.com/casbin/gorm-adapter/v3"
_ "github.com/go-sql-driver/mysql" _ "github.com/go-sql-driver/mysql"
"strings" "strings"
"sync"
) )
//@author: [piexlmax](https://github.com/piexlmax) //@author: [piexlmax](https://github.com/piexlmax)
...@@ -88,12 +89,19 @@ func ClearCasbin(v int, p ...string) bool { ...@@ -88,12 +89,19 @@ func ClearCasbin(v int, p ...string) bool {
//@description: 持久化到数据库 引入自定义规则 //@description: 持久化到数据库 引入自定义规则
//@return: *casbin.Enforcer //@return: *casbin.Enforcer
func Casbin() *casbin.Enforcer { var (
a, _ := gormadapter.NewAdapterByDB(global.GVA_DB) syncedEnforcer *casbin.SyncedEnforcer
e, _ := casbin.NewEnforcer(global.GVA_CONFIG.Casbin.ModelPath, a) once sync.Once
e.AddFunction("ParamsMatch", ParamsMatchFunc) )
_ = e.LoadPolicy()
return e func Casbin() *casbin.SyncedEnforcer {
once.Do(func() {
a, _ := gormadapter.NewAdapterByDB(global.GVA_DB)
syncedEnforcer, _ = casbin.NewSyncedEnforcer(global.GVA_CONFIG.Casbin.ModelPath, a)
syncedEnforcer.AddFunction("ParamsMatch", ParamsMatchFunc)
})
_ = syncedEnforcer.LoadPolicy()
return syncedEnforcer
} }
//@author: [piexlmax](https://github.com/piexlmax) //@author: [piexlmax](https://github.com/piexlmax)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册