123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package inject
- import (
- "runtime"
- "github.com/casbin/casbin"
- "github.com/facebookgo/inject"
- "kpt.xdmy/pkg/setting"
- // "kpt.xdmy/service/bll"
- )
- // Object 注入对象
- type Object struct {
- // Common *bll.Common
- Enforcer *casbin.Enforcer
- }
- var Obj *Object
- // Init 初始化依赖注入
- func Init() {
- g := new(inject.Graph)
- // 注入casbin
- osType := runtime.GOOS
- var path string
- if osType == "windows" {
- path = setting.CurrentPath + "conf\\rbac_model.conf"
- } else if osType == "linux" {
- path = setting.CurrentPath + "conf/rbac_model.conf"
- }
- enforcer := casbin.NewEnforcer(path, false)
- _ = g.Provide(&inject.Object{Value: enforcer})
- // Common := new(bll.Common)
- // _ = g.Provide(&inject.Object{Value: Common})
- if err := g.Populate(); err != nil {
- panic("初始化依赖注入发生错误:" + err.Error())
- }
- Obj = &Object{
- Enforcer: enforcer,
- // Common: Common,
- }
- return
- }
- //var instance *Object
- //var once sync.Once
- //
- //func GetInstance() *Object {
- // once.Do(func() {
- // instance = Init()
- // })
- // return instance
- //}
- // // 加载casbin策略数据,包括角色权限数据、用户角色数据
- // func LoadCasbinPolicyData() error {
- // // c := Obj.Common
- // err := c.RoleAPI.LoadAllPolicy()
- // if err != nil {
- // return err
- // }
- // err = c.UserAPI.LoadAllPolicy()
- // if err != nil {
- // return err
- // }
- // return nil
- // }
|