gfadapter

package
v0.0.0-...-81a76de Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 16, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Enforcer *casbin.SyncedEnforcer

Enforcer 单例casbin同步执行器

View Source
var EnforcerErr error

EnforcerErr 单例casbin执行器错误对象

Functions

func CreateMysqlTable

func CreateMysqlTable(tableName string) (sql string)

CreateMysqlTable 创建Mysql表结构sql

func CreatePgsqlTable

func CreatePgsqlTable(tableName string) (sql string)

CreatePgsqlTable 创建Pgsql表结构sql

func CreateSqlite3Table

func CreateSqlite3Table(tableName string) (sql string)

CreateSqlite3Table 创建Sqlite3表结构sql

func DropTable

func DropTable(tableName string) (sql string)

DropTable 删除指定表

func NewEnforcer

func NewEnforcer(customDb ...gdb.DB) (*casbin.Enforcer, error)

NewEnforcer 实例化gf-casbin执行器对象

 1、支持自动注册,自动寻找gf框架default分组数据源(gdb.DB),无需关心数据源种类。
 2、支持自定义分组数据源注册。

 目前支持sqlite3、mysql5.7、postgresql数据库。

 备注:1.sqlite3、mysql5.7数据库表新增主键自增,postgresql数据库无主键。
      2.sqlite3、pgsql需要添加额外驱动

	sqlite3驱动:	_ "github.com/lib/pq"

	pgsql驱动:		_ "github.com/mattn/go-sqlite3"

 示例:
 e, err := gfadapter.NewEnforcer()
 e, err := gfadapter.NewEnforcer(g.DB())
 e, err := gfadapter.NewEnforcer(g.DB("sqlite"))
 e, err := gfadapter.NewEnforcer(g.DB("mysql"))
 e, err := gfadapter.NewEnforcer(g.DB("pgsql"))

func NewEnforcerBean

func NewEnforcerBean(customDb ...gdb.DB) (*casbin.SyncedEnforcer, error)

NewEnforcerBean 实例化casbin执行器bean

 1、支持自动注册,自动寻找gf框架default分组数据源(gdb.DB),无需关心数据源种类。
 2、支持自定义分组数据源注册。

 目前支持sqlite3、mysql5.7、postgresql数据库。

 备注:1.sqlite3、mysql5.7数据库表新增主键自增,postgresql数据库无主键。
      2.sqlite3、pgsql需要添加额外驱动

	sqlite3驱动:	_ "github.com/lib/pq"

	pgsql驱动:		_ "github.com/mattn/go-sqlite3"

 示例:
 e, err := gfadapter.NewEnforcerBean()
 e, err := gfadapter.NewEnforcerBean(g.DB())
 e, err := gfadapter.NewEnforcerBean(g.DB("sqlite"))
 e, err := gfadapter.NewEnforcerBean(g.DB("mysql"))
 e, err := gfadapter.NewEnforcerBean(g.DB("pgsql"))

Types

type Adapter

type Adapter struct {
	// contains filtered or unexported fields
}

Adapter 表示策略存储的gdb适配器。

func NewAdapter

func NewAdapter(driverName string, dbLink string) (*Adapter, error)

NewAdapter 是适配器的构造函数。

func NewAdapterByGdb

func NewAdapterByGdb(customDb gdb.DB) (*Adapter, error)

NewAdapterByGdb 从自定义数据库连接中创建适配器

func NewAdapterFromOptions

func NewAdapterFromOptions(adapter *Adapter) (*Adapter, error)

NewAdapterFromOptions 是已存在连接的适配器的构造函数。

func (*Adapter) AddPolicy

func (a *Adapter) AddPolicy(sec string, pType string, rule []string) error

AddPolicy 将策略规则添加到存储中。

func (*Adapter) LoadPolicy

func (a *Adapter) LoadPolicy(model model.Model) error

LoadPolicy 从数据库加载所有策略规则。(必须实现此方法)

func (*Adapter) RemoveFilteredPolicy

func (a *Adapter) RemoveFilteredPolicy(sec string, pType string, fieldIndex int, fieldValues ...string) error

RemoveFilteredPolicy 从存储中删除匹配过滤器的策略规则。

func (*Adapter) RemovePolicy

func (a *Adapter) RemovePolicy(sec string, pType string, rule []string) error

RemovePolicy 从存储中删除策略规则。

func (*Adapter) SavePolicy

func (a *Adapter) SavePolicy(model model.Model) error

SavePolicy 将所有策略保存到数据库。(必须实现此方法)(慎用)

备注:只有适配器才能调用此方法,执行器无法调用。

type CasbinRule

type CasbinRule struct {
	PType string `json:"pType"`
	V0    string `json:"v0"`
	V1    string `json:"v1"`
	V2    string `json:"v2"`
	V3    string `json:"v3"`
	V4    string `json:"v4"`
	V5    string `json:"v5"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL