Beego 中使用casbin

  • 安装

go get github.com/casbin/casbin/v2

  • 安装 ORM 适配器,采用DB方式策略

go get github.com/casbin/beego-orm-adapter/v2

  • 开发:
import (
   "github.com/astaxie/beego/logs"
   beegoormadapter "github.com/casbin/beego-orm-adapter/v2"
   "github.com/casbin/casbin/v2"
)


const (
   RBAC_CONF = "conf/rbac_model.conf"
   RBAC_DOMAIN_CONF = "conf/rbac_domain_model.conf"
)
var (
   Enforcer *casbin.Enforcer
)


func casbinIinit(sqlConn string) {
   //不能再使用 default
   a, err := beegoormadapter.NewAdapter("casbin", "MysqL", sqlConn)
   if err != nil {
      logs.Error(err)
   }


   Enforcer, err = casbin.NewEnforcer(RBAC_DOMAIN_CONF, a)
   if err != nil {
      logs.Error(err)
   }


   err = Enforcer.LoadPolicy()
   if err != nil {
      panic(err)
   }
}

 

 

注意事项:

相关文章

developer-roadmap —— 提供最全的开发者技术路线指南。前端...
一个极简的文件分享工具,无需注册且没有广告即可生成共享下...
收集 Github、Gitee优秀的开源项目,并进行归类整理。项目地...
大家好,我是 Java陈序员,我们有时会搭建一个属于自己的网站...
一个提供交互式的Web UI用于生成兼容MyBatisPlus框架的相关功...
大家好,我是 Java 陈序员。权限认证是我们日常开发绕不过的...