2 Star 7 Fork 10

王布衣/engine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
permission.go 783 Bytes
一键复制 编辑 原始数据 按行查看 历史
package permissions
import (
"errors"
"gitee.com/quant1x/engine/models"
"sync"
)
var (
ErrAlreadyExists = errors.New("the validator already exists") // 权限验证已经存在
)
type Validator func(id uint64) error
var (
mutexPermission sync.Mutex
validatePermission Validator = nil
)
// RegisterValidatePermission 注册权限验证模块
func RegisterValidatePermission(f Validator) error {
mutexPermission.Lock()
defer mutexPermission.Unlock()
if validatePermission != nil {
return ErrAlreadyExists
}
validatePermission = f
return nil
}
// CheckPermission 权限验证
func CheckPermission(model models.Strategy) error {
if validatePermission == nil {
// 没有权限验证, 直接返回成功
return nil
}
return validatePermission(model.Code())
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/quant1x/engine.git
git@gitee.com:quant1x/engine.git
quant1x
engine
engine
v1.7.0

搜索帮助