Documentation ¶
Index ¶
- func Setup(db *gorm.DB, _ string) *casbin.SyncedEnforcer
- type Adapter
- func NewAdapter(driverName string, dataSourceName string, params ...interface{}) (*Adapter, error)
- func NewAdapterByDB(db *gorm.DB) (*Adapter, error)
- func NewAdapterByDBUseTableName(db *gorm.DB, prefix string, tableName string) (*Adapter, error)
- func NewAdapterByDBWithCustomTable(db *gorm.DB, t interface{}) (*Adapter, error)
- func NewFilteredAdapter(driverName string, dataSourceName string, params ...interface{}) (*Adapter, error)
- func (a *Adapter) AddPolicies(sec string, ptype string, rules [][]string) error
- func (a *Adapter) AddPolicy(sec string, ptype string, rule []string) error
- func (a *Adapter) IsFiltered() bool
- func (a *Adapter) LoadFilteredPolicy(model model.Model, filter interface{}) error
- func (a *Adapter) LoadPolicy(model model.Model) error
- func (a *Adapter) RemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) error
- func (a *Adapter) RemovePolicies(sec string, ptype string, rules [][]string) error
- func (a *Adapter) RemovePolicy(sec string, ptype string, rule []string) error
- func (a *Adapter) SavePolicy(model model.Model) error
- func (a *Adapter) UpdatePolicy(sec string, ptype string, oldRule, newPolicy []string) error
- type CasbinRule
- type Filter
- type Logger
- func (l *Logger) EnableLog(enable bool)
- func (l *Logger) IsEnabled() bool
- func (l *Logger) LogEnforce(matcher string, request []interface{}, result bool, explains [][]string)
- func (l *Logger) LogModel(model [][]string)
- func (l *Logger) LogPolicy(policy map[string][][]string)
- func (l *Logger) LogRole(roles []string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Adapter ¶
type Adapter struct {
// contains filtered or unexported fields
}
Adapter represents the Gorm adapter for policy storage.
func NewAdapter ¶
NewAdapter is the constructor for Adapter. Params : databaseName,tableName,dbSpecified
databaseName,{tableName/dbSpecified} {database/dbSpecified}
databaseName and tableName are user defined. Their default value are "casbin" and "casbin_rule"
dbSpecified is an optional bool parameter. The default value is false. It's up to whether you have specified an existing DB in dataSourceName. If dbSpecified == true, you need to make sure the DB in dataSourceName exists. If dbSpecified == false, the adapter will automatically create a DB named databaseName.
func NewAdapterByDB ¶
NewAdapterByDB creates gorm-adapter by an existing Gorm instance
func NewAdapterByDBUseTableName ¶
NewAdapterByDBUseTableName creates gorm-adapter by an existing Gorm instance and the specified table prefix and table name Example: gormadapter.NewAdapterByDBUseTableName(&db, "cms", "casbin") Automatically generate table name like this "cms_casbin"
func NewAdapterByDBWithCustomTable ¶
func NewFilteredAdapter ¶
func NewFilteredAdapter(driverName string, dataSourceName string, params ...interface{}) (*Adapter, error)
NewFilteredAdapter is the constructor for FilteredAdapter. Casbin will not automatically call LoadPolicy() for a filtered adapter.
func (*Adapter) AddPolicies ¶
AddPolicies adds multiple policy rules to the storage.
func (*Adapter) AddPolicy ¶
AddPolicy adds a policy rule to the storage.
func (*Adapter) IsFiltered ¶
IsFiltered returns true if the loaded policy has been filtered.
func (*Adapter) LoadFilteredPolicy ¶
LoadFilteredPolicy loads only policy rules that match the filter.
func (*Adapter) LoadPolicy ¶
LoadPolicy loads policy from database.
func (*Adapter) RemoveFilteredPolicy ¶
func (a *Adapter) RemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) error
RemoveFilteredPolicy removes policy rules that match the filter from the storage.
func (*Adapter) RemovePolicies ¶
RemovePolicies removes multiple policy rules from the storage.
func (*Adapter) RemovePolicy ¶
RemovePolicy removes a policy rule from the storage.
func (*Adapter) SavePolicy ¶
SavePolicy saves policy to database.
type CasbinRule ¶
type CasbinRule struct { PType string `gorm:"size:100"` V0 string `gorm:"size:100"` V1 string `gorm:"size:100"` V2 string `gorm:"size:100"` V3 string `gorm:"size:100"` V4 string `gorm:"size:100"` V5 string `gorm:"size:100"` }
func (CasbinRule) TableName ¶
func (CasbinRule) TableName() string
type Filter ¶
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger is the implementation for a Logger using golang log.
func (*Logger) EnableLog ¶
EnableLog controls whether print the message.
func (*Logger) IsEnabled ¶
IsEnabled returns if logger is enabled.
func (*Logger) LogEnforce ¶
func (l *Logger) LogEnforce(matcher string, request []interface{}, result bool, explains [][]string)
LogEnforce log info related to enforce.
func (*Logger) LogModel ¶
LogModel log info related to model.
func (*Logger) LogPolicy ¶
LogPolicy log info related to policy.