Documentation
¶
Index ¶
- func CasbinJsGetPermissionForUser(e IEnforcer, user string) (string, error)
- func CasbinJsGetPermissionForUserOld(e IEnforcer, user string) ([]byte, error)
- func GetCacheKey(params ...interface{}) (string, bool)
- func Mount(app *zip.App, deps cloud.Deps) error
- type CacheableParam
- type CachedEnforcer
- func (e *CachedEnforcer) EnableCache(enableCache bool)
- func (e *CachedEnforcer) Enforce(rvals ...interface{}) (bool, error)
- func (e *CachedEnforcer) InvalidateCache() error
- func (e *CachedEnforcer) LoadPolicy() error
- func (e *CachedEnforcer) RemovePolicies(rules [][]string) (bool, error)
- func (e *CachedEnforcer) RemovePolicy(params ...interface{}) (bool, error)
- func (e *CachedEnforcer) SetCache(c cache.Cache)
- func (e *CachedEnforcer) SetExpireTime(expireTime time.Duration)
- type DistributedEnforcer
- func (d *DistributedEnforcer) AddPoliciesSelf(shouldPersist func() bool, sec string, ptype string, rules [][]string) (affected [][]string, err error)
- func (d *DistributedEnforcer) ClearPolicySelf(shouldPersist func() bool) error
- func (d *DistributedEnforcer) RemoveFilteredPolicySelf(shouldPersist func() bool, sec string, ptype string, fieldIndex int, ...) (affected [][]string, err error)
- func (d *DistributedEnforcer) RemovePoliciesSelf(shouldPersist func() bool, sec string, ptype string, rules [][]string) (affected [][]string, err error)
- func (e *DistributedEnforcer) SetDispatcher(dispatcher persist.Dispatcher)
- func (d *DistributedEnforcer) UpdateFilteredPoliciesSelf(shouldPersist func() bool, sec string, ptype string, newRules [][]string, ...) (bool, error)
- func (d *DistributedEnforcer) UpdatePoliciesSelf(shouldPersist func() bool, sec string, ptype string, ...) (affected bool, err error)
- func (d *DistributedEnforcer) UpdatePolicySelf(shouldPersist func() bool, sec string, ptype string, oldRule, newRule []string) (affected bool, err error)
- type EnforceContext
- type Enforcer
- func (e *Enforcer) AddFunction(name string, function govaluate.ExpressionFunction)
- func (e *Enforcer) AddGroupingPolicies(rules [][]string) (bool, error)
- func (e *Enforcer) AddGroupingPoliciesEx(rules [][]string) (bool, error)
- func (e *Enforcer) AddGroupingPolicy(params ...interface{}) (bool, error)
- func (e *Enforcer) AddNamedDomainLinkConditionFunc(ptype, user, role string, domain string, fn rbac.LinkConditionFunc) bool
- func (e *Enforcer) AddNamedDomainMatchingFunc(ptype, name string, fn rbac.MatchingFunc) bool
- func (e *Enforcer) AddNamedGroupingPolicies(ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) AddNamedGroupingPoliciesEx(ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) AddNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) AddNamedLinkConditionFunc(ptype, user, role string, fn rbac.LinkConditionFunc) bool
- func (e *Enforcer) AddNamedMatchingFunc(ptype, name string, fn rbac.MatchingFunc) bool
- func (e *Enforcer) AddNamedPolicies(ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) AddNamedPoliciesEx(ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) AddNamedPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) AddPermissionForUser(user string, permission ...string) (bool, error)
- func (e *Enforcer) AddPermissionsForUser(user string, permissions ...[]string) (bool, error)
- func (e *Enforcer) AddPolicies(rules [][]string) (bool, error)
- func (e *Enforcer) AddPoliciesEx(rules [][]string) (bool, error)
- func (e *Enforcer) AddPolicy(params ...interface{}) (bool, error)
- func (e *Enforcer) AddRoleForUser(user string, role string, domain ...string) (bool, error)
- func (e *Enforcer) AddRoleForUserInDomain(user string, role string, domain string) (bool, error)
- func (e *Enforcer) AddRolesForUser(user string, roles []string, domain ...string) (bool, error)
- func (e *Enforcer) BatchEnforce(requests [][]interface{}) ([]bool, error)
- func (e *Enforcer) BatchEnforceWithMatcher(matcher string, requests [][]interface{}) ([]bool, error)
- func (e *Enforcer) BuildIncrementalConditionalRoleLinks(op model.PolicyOp, ptype string, rules [][]string) error
- func (e *Enforcer) BuildIncrementalRoleLinks(op model.PolicyOp, ptype string, rules [][]string) error
- func (e *Enforcer) BuildRoleLinks() error
- func (e *Enforcer) ClearPolicy()
- func (e *Enforcer) DeleteAllUsersByDomain(domain string) (bool, error)
- func (e *Enforcer) DeleteDomains(domains ...string) (bool, error)
- func (e *Enforcer) DeletePermission(permission ...string) (bool, error)
- func (e *Enforcer) DeletePermissionForUser(user string, permission ...string) (bool, error)
- func (e *Enforcer) DeletePermissionsForUser(user string) (bool, error)
- func (e *Enforcer) DeleteRole(role string) (bool, error)
- func (e *Enforcer) DeleteRoleForUser(user string, role string, domain ...string) (bool, error)
- func (e *Enforcer) DeleteRoleForUserInDomain(user string, role string, domain string) (bool, error)
- func (e *Enforcer) DeleteRolesForUser(user string, domain ...string) (bool, error)
- func (e *Enforcer) DeleteRolesForUserInDomain(user string, domain string) (bool, error)
- func (e *Enforcer) DeleteUser(user string) (bool, error)
- func (e *Enforcer) EnableAcceptJsonRequest(acceptJsonRequest bool)
- func (e *Enforcer) EnableAutoBuildRoleLinks(autoBuildRoleLinks bool)
- func (e *Enforcer) EnableAutoNotifyDispatcher(enable bool)
- func (e *Enforcer) EnableAutoNotifyWatcher(enable bool)
- func (e *Enforcer) EnableAutoSave(autoSave bool)
- func (e *Enforcer) EnableEnforce(enable bool)
- func (e *Enforcer) EnableLog(enable bool)
- func (e *Enforcer) Enforce(rvals ...interface{}) (bool, error)
- func (e *Enforcer) EnforceEx(rvals ...interface{}) (bool, []string, error)
- func (e *Enforcer) EnforceExWithMatcher(matcher string, rvals ...interface{}) (bool, []string, error)
- func (e *Enforcer) EnforceWithMatcher(matcher string, rvals ...interface{}) (bool, error)
- func (e *Enforcer) GetAdapter() persist.Adapter
- func (e *Enforcer) GetAllActions() []string
- func (e *Enforcer) GetAllDomains() ([]string, error)
- func (e *Enforcer) GetAllNamedActions(ptype string) []string
- func (e *Enforcer) GetAllNamedObjects(ptype string) []string
- func (e *Enforcer) GetAllNamedRoles(ptype string) []string
- func (e *Enforcer) GetAllNamedSubjects(ptype string) []string
- func (e *Enforcer) GetAllObjects() []string
- func (e *Enforcer) GetAllRoles() []string
- func (e *Enforcer) GetAllRolesByDomain(domain string) []string
- func (e *Enforcer) GetAllSubjects() []string
- func (e *Enforcer) GetAllUsersByDomain(domain string) []string
- func (e *Enforcer) GetAllowedObjectConditions(user string, action string, prefix string) ([]string, error)
- func (e *Enforcer) GetDomainsForUser(user string) ([]string, error)
- func (e *Enforcer) GetFieldIndex(ptype string, field string) (int, error)
- func (e *Enforcer) GetFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) [][]string
- func (e *Enforcer) GetFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string
- func (e *Enforcer) GetFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string
- func (e *Enforcer) GetFilteredNamedPolicyWithMatcher(ptype string, matcher string) ([][]string, error)
- func (e *Enforcer) GetFilteredPolicy(fieldIndex int, fieldValues ...string) [][]string
- func (e *Enforcer) GetGroupingPolicy() [][]string
- func (e *Enforcer) GetImplicitPermissionsForUser(user string, domain ...string) ([][]string, error)
- func (e *Enforcer) GetImplicitResourcesForUser(user string, domain ...string) ([][]string, error)
- func (e *Enforcer) GetImplicitRolesForUser(name string, domain ...string) ([]string, error)
- func (e *Enforcer) GetImplicitUsersForPermission(permission ...string) ([]string, error)
- func (e *Enforcer) GetImplicitUsersForResource(resource string) ([][]string, error)
- func (e *Enforcer) GetImplicitUsersForResourceByDomain(resource string, domain string) ([][]string, error)
- func (e *Enforcer) GetImplicitUsersForRole(name string, domain ...string) ([]string, error)
- func (e *Enforcer) GetModel() model.Model
- func (e *Enforcer) GetNamedGroupingPolicy(ptype string) [][]string
- func (e *Enforcer) GetNamedImplicitPermissionsForUser(ptype string, user string, domain ...string) ([][]string, error)
- func (e *Enforcer) GetNamedPermissionsForUser(ptype string, user string, domain ...string) [][]string
- func (e *Enforcer) GetNamedPolicy(ptype string) [][]string
- func (e *Enforcer) GetNamedRoleManager(ptype string) rbac.RoleManager
- func (e *Enforcer) GetPermissionsForUser(user string, domain ...string) [][]string
- func (e *Enforcer) GetPermissionsForUserInDomain(user string, domain string) [][]string
- func (e *Enforcer) GetPolicy() [][]string
- func (e *Enforcer) GetRoleManager() rbac.RoleManager
- func (e *Enforcer) GetRolesForUser(name string, domain ...string) ([]string, error)
- func (e *Enforcer) GetRolesForUserInDomain(name string, domain string) []string
- func (e *Enforcer) GetUsersForRole(name string, domain ...string) ([]string, error)
- func (e *Enforcer) GetUsersForRoleInDomain(name string, domain string) []string
- func (e *Enforcer) HasGroupingPolicy(params ...interface{}) bool
- func (e *Enforcer) HasNamedGroupingPolicy(ptype string, params ...interface{}) bool
- func (e *Enforcer) HasNamedPolicy(ptype string, params ...interface{}) bool
- func (e *Enforcer) HasPermissionForUser(user string, permission ...string) bool
- func (e *Enforcer) HasPolicy(params ...interface{}) bool
- func (e *Enforcer) HasRoleForUser(name string, role string, domain ...string) (bool, error)
- func (e *Enforcer) InitWithAdapter(modelPath string, adapter persist.Adapter) error
- func (e *Enforcer) InitWithFile(modelPath string, policyPath string) error
- func (e *Enforcer) InitWithModelAndAdapter(m model.Model, adapter persist.Adapter) error
- func (e *Enforcer) IsFiltered() bool
- func (e *Enforcer) IsLogEnabled() bool
- func (e *Enforcer) LoadFilteredPolicy(filter interface{}) error
- func (e *Enforcer) LoadIncrementalFilteredPolicy(filter interface{}) error
- func (e *Enforcer) LoadModel() error
- func (e *Enforcer) LoadPolicy() error
- func (e *Enforcer) RemoveFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveFilteredPolicy(fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveGroupingPolicies(rules [][]string) (bool, error)
- func (e *Enforcer) RemoveGroupingPolicy(params ...interface{}) (bool, error)
- func (e *Enforcer) RemoveNamedGroupingPolicies(ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) RemoveNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) RemoveNamedPolicies(ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) RemoveNamedPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) RemovePolicies(rules [][]string) (bool, error)
- func (e *Enforcer) RemovePolicy(params ...interface{}) (bool, error)
- func (e *Enforcer) SavePolicy() error
- func (e *Enforcer) SelfAddPolicies(sec string, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) SelfAddPoliciesEx(sec string, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) SelfAddPolicy(sec string, ptype string, rule []string) (bool, error)
- func (e *Enforcer) SelfRemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) SelfRemovePolicies(sec string, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) SelfRemovePolicy(sec string, ptype string, rule []string) (bool, error)
- func (e *Enforcer) SelfUpdatePolicies(sec string, ptype string, oldRules, newRules [][]string) (bool, error)
- func (e *Enforcer) SelfUpdatePolicy(sec string, ptype string, oldRule, newRule []string) (bool, error)
- func (e *Enforcer) SetAdapter(adapter persist.Adapter)
- func (e *Enforcer) SetEffector(eft effector.Effector)
- func (e *Enforcer) SetFieldIndex(ptype string, field string, index int)
- func (e *Enforcer) SetLogger(logger log.Logger)
- func (e *Enforcer) SetModel(m model.Model)
- func (e *Enforcer) SetNamedDomainLinkConditionFuncParams(ptype, user, role, domain string, params ...string) bool
- func (e *Enforcer) SetNamedLinkConditionFuncParams(ptype, user, role string, params ...string) bool
- func (e *Enforcer) SetNamedRoleManager(ptype string, rm rbac.RoleManager)
- func (e *Enforcer) SetRoleManager(rm rbac.RoleManager)
- func (e *Enforcer) SetWatcher(watcher persist.Watcher) error
- func (e *Enforcer) UpdateFilteredNamedPolicies(ptype string, newPolicies [][]string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) UpdateFilteredPolicies(newPolicies [][]string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) UpdateGroupingPolicies(oldRules [][]string, newRules [][]string) (bool, error)
- func (e *Enforcer) UpdateGroupingPolicy(oldRule []string, newRule []string) (bool, error)
- func (e *Enforcer) UpdateNamedGroupingPolicies(ptype string, oldRules [][]string, newRules [][]string) (bool, error)
- func (e *Enforcer) UpdateNamedGroupingPolicy(ptype string, oldRule []string, newRule []string) (bool, error)
- func (e *Enforcer) UpdateNamedPolicies(ptype string, p1 [][]string, p2 [][]string) (bool, error)
- func (e *Enforcer) UpdateNamedPolicy(ptype string, p1 []string, p2 []string) (bool, error)
- func (e *Enforcer) UpdatePolicies(oldPolices [][]string, newPolicies [][]string) (bool, error)
- func (e *Enforcer) UpdatePolicy(oldPolicy []string, newPolicy []string) (bool, error)
- type IDistributedEnforcer
- type IEnforcer
- type SyncedCachedEnforcer
- func (e *SyncedCachedEnforcer) AddPolicies(rules [][]string) (bool, error)
- func (e *SyncedCachedEnforcer) AddPolicy(params ...interface{}) (bool, error)
- func (e *SyncedCachedEnforcer) EnableCache(enableCache bool)
- func (e *SyncedCachedEnforcer) Enforce(rvals ...interface{}) (bool, error)
- func (e *SyncedCachedEnforcer) InvalidateCache() error
- func (e *SyncedCachedEnforcer) LoadPolicy() error
- func (e *SyncedCachedEnforcer) RemovePolicies(rules [][]string) (bool, error)
- func (e *SyncedCachedEnforcer) RemovePolicy(params ...interface{}) (bool, error)
- func (e *SyncedCachedEnforcer) SetCache(c cache.Cache)
- func (e *SyncedCachedEnforcer) SetExpireTime(expireTime time.Duration)
- type SyncedEnforcer
- func (e *SyncedEnforcer) AddFunction(name string, function govaluate.ExpressionFunction)
- func (e *SyncedEnforcer) AddGroupingPolicies(rules [][]string) (bool, error)
- func (e *SyncedEnforcer) AddGroupingPoliciesEx(rules [][]string) (bool, error)
- func (e *SyncedEnforcer) AddGroupingPolicy(params ...interface{}) (bool, error)
- func (e *SyncedEnforcer) AddNamedGroupingPolicies(ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) AddNamedGroupingPoliciesEx(ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) AddNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *SyncedEnforcer) AddNamedPolicies(ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) AddNamedPoliciesEx(ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) AddNamedPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *SyncedEnforcer) AddPermissionForUser(user string, permission ...string) (bool, error)
- func (e *SyncedEnforcer) AddPermissionsForUser(user string, permissions ...[]string) (bool, error)
- func (e *SyncedEnforcer) AddPolicies(rules [][]string) (bool, error)
- func (e *SyncedEnforcer) AddPoliciesEx(rules [][]string) (bool, error)
- func (e *SyncedEnforcer) AddPolicy(params ...interface{}) (bool, error)
- func (e *SyncedEnforcer) AddRoleForUser(user string, role string, domain ...string) (bool, error)
- func (e *SyncedEnforcer) AddRoleForUserInDomain(user string, role string, domain string) (bool, error)
- func (e *SyncedEnforcer) AddRolesForUser(user string, roles []string, domain ...string) (bool, error)
- func (e *SyncedEnforcer) BatchEnforce(requests [][]interface{}) ([]bool, error)
- func (e *SyncedEnforcer) BatchEnforceWithMatcher(matcher string, requests [][]interface{}) ([]bool, error)
- func (e *SyncedEnforcer) BuildRoleLinks() error
- func (e *SyncedEnforcer) ClearPolicy()
- func (e *SyncedEnforcer) DeletePermission(permission ...string) (bool, error)
- func (e *SyncedEnforcer) DeletePermissionForUser(user string, permission ...string) (bool, error)
- func (e *SyncedEnforcer) DeletePermissionsForUser(user string) (bool, error)
- func (e *SyncedEnforcer) DeleteRole(role string) (bool, error)
- func (e *SyncedEnforcer) DeleteRoleForUser(user string, role string, domain ...string) (bool, error)
- func (e *SyncedEnforcer) DeleteRoleForUserInDomain(user string, role string, domain string) (bool, error)
- func (e *SyncedEnforcer) DeleteRolesForUser(user string, domain ...string) (bool, error)
- func (e *SyncedEnforcer) DeleteRolesForUserInDomain(user string, domain string) (bool, error)
- func (e *SyncedEnforcer) DeleteUser(user string) (bool, error)
- func (e *SyncedEnforcer) Enforce(rvals ...interface{}) (bool, error)
- func (e *SyncedEnforcer) EnforceEx(rvals ...interface{}) (bool, []string, error)
- func (e *SyncedEnforcer) EnforceExWithMatcher(matcher string, rvals ...interface{}) (bool, []string, error)
- func (e *SyncedEnforcer) EnforceWithMatcher(matcher string, rvals ...interface{}) (bool, error)
- func (e *SyncedEnforcer) GetAllActions() []string
- func (e *SyncedEnforcer) GetAllNamedActions(ptype string) []string
- func (e *SyncedEnforcer) GetAllNamedObjects(ptype string) []string
- func (e *SyncedEnforcer) GetAllNamedRoles(ptype string) []string
- func (e *SyncedEnforcer) GetAllNamedSubjects(ptype string) []string
- func (e *SyncedEnforcer) GetAllObjects() []string
- func (e *SyncedEnforcer) GetAllRoles() []string
- func (e *SyncedEnforcer) GetAllSubjects() []string
- func (e *SyncedEnforcer) GetFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) [][]string
- func (e *SyncedEnforcer) GetFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string
- func (e *SyncedEnforcer) GetFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string
- func (e *SyncedEnforcer) GetFilteredPolicy(fieldIndex int, fieldValues ...string) [][]string
- func (e *SyncedEnforcer) GetGroupingPolicy() [][]string
- func (e *SyncedEnforcer) GetImplicitPermissionsForUser(user string, domain ...string) ([][]string, error)
- func (e *SyncedEnforcer) GetImplicitRolesForUser(name string, domain ...string) ([]string, error)
- func (e *SyncedEnforcer) GetImplicitUsersForPermission(permission ...string) ([]string, error)
- func (e *SyncedEnforcer) GetLock() *sync.RWMutex
- func (e *SyncedEnforcer) GetNamedGroupingPolicy(ptype string) [][]string
- func (e *SyncedEnforcer) GetNamedImplicitPermissionsForUser(ptype string, user string, domain ...string) ([][]string, error)
- func (e *SyncedEnforcer) GetNamedPermissionsForUser(ptype string, user string, domain ...string) [][]string
- func (e *SyncedEnforcer) GetNamedPolicy(ptype string) [][]string
- func (e *SyncedEnforcer) GetPermissionsForUser(user string, domain ...string) [][]string
- func (e *SyncedEnforcer) GetPermissionsForUserInDomain(user string, domain string) [][]string
- func (e *SyncedEnforcer) GetPolicy() [][]string
- func (e *SyncedEnforcer) GetRolesForUser(name string, domain ...string) ([]string, error)
- func (e *SyncedEnforcer) GetRolesForUserInDomain(name string, domain string) []string
- func (e *SyncedEnforcer) GetUsersForRole(name string, domain ...string) ([]string, error)
- func (e *SyncedEnforcer) GetUsersForRoleInDomain(name string, domain string) []string
- func (e *SyncedEnforcer) HasGroupingPolicy(params ...interface{}) bool
- func (e *SyncedEnforcer) HasNamedGroupingPolicy(ptype string, params ...interface{}) bool
- func (e *SyncedEnforcer) HasNamedPolicy(ptype string, params ...interface{}) bool
- func (e *SyncedEnforcer) HasPermissionForUser(user string, permission ...string) bool
- func (e *SyncedEnforcer) HasPolicy(params ...interface{}) bool
- func (e *SyncedEnforcer) HasRoleForUser(name string, role string, domain ...string) (bool, error)
- func (e *SyncedEnforcer) IsAutoLoadingRunning() bool
- func (e *SyncedEnforcer) LoadFilteredPolicy(filter interface{}) error
- func (e *SyncedEnforcer) LoadIncrementalFilteredPolicy(filter interface{}) error
- func (e *SyncedEnforcer) LoadModel() error
- func (e *SyncedEnforcer) LoadPolicy() error
- func (e *SyncedEnforcer) LoadPolicyFast() error
- func (e *SyncedEnforcer) RemoveFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedEnforcer) RemoveFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedEnforcer) RemoveFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedEnforcer) RemoveFilteredPolicy(fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedEnforcer) RemoveGroupingPolicies(rules [][]string) (bool, error)
- func (e *SyncedEnforcer) RemoveGroupingPolicy(params ...interface{}) (bool, error)
- func (e *SyncedEnforcer) RemoveNamedGroupingPolicies(ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) RemoveNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *SyncedEnforcer) RemoveNamedPolicies(ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) RemoveNamedPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *SyncedEnforcer) RemovePolicies(rules [][]string) (bool, error)
- func (e *SyncedEnforcer) RemovePolicy(params ...interface{}) (bool, error)
- func (e *SyncedEnforcer) SavePolicy() error
- func (e *SyncedEnforcer) SelfAddPolicies(sec string, ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) SelfAddPoliciesEx(sec string, ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) SelfAddPolicy(sec string, ptype string, rule []string) (bool, error)
- func (e *SyncedEnforcer) SelfRemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedEnforcer) SelfRemovePolicies(sec string, ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) SelfRemovePolicy(sec string, ptype string, rule []string) (bool, error)
- func (e *SyncedEnforcer) SelfUpdatePolicies(sec string, ptype string, oldRules, newRules [][]string) (bool, error)
- func (e *SyncedEnforcer) SelfUpdatePolicy(sec string, ptype string, oldRule, newRule []string) (bool, error)
- func (e *SyncedEnforcer) SetWatcher(watcher persist.Watcher) error
- func (e *SyncedEnforcer) StartAutoLoadPolicy(d time.Duration)
- func (e *SyncedEnforcer) StopAutoLoadPolicy()
- func (e *SyncedEnforcer) UpdateFilteredNamedPolicies(ptype string, newPolicies [][]string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedEnforcer) UpdateFilteredPolicies(newPolicies [][]string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedEnforcer) UpdateGroupingPolicies(oldRules [][]string, newRules [][]string) (bool, error)
- func (e *SyncedEnforcer) UpdateGroupingPolicy(oldRule []string, newRule []string) (bool, error)
- func (e *SyncedEnforcer) UpdateNamedGroupingPolicies(ptype string, oldRules [][]string, newRules [][]string) (bool, error)
- func (e *SyncedEnforcer) UpdateNamedGroupingPolicy(ptype string, oldRule []string, newRule []string) (bool, error)
- func (e *SyncedEnforcer) UpdateNamedPolicies(ptype string, p1 [][]string, p2 [][]string) (bool, error)
- func (e *SyncedEnforcer) UpdateNamedPolicy(ptype string, p1 []string, p2 []string) (bool, error)
- func (e *SyncedEnforcer) UpdatePolicies(oldPolices [][]string, newPolicies [][]string) (bool, error)
- func (e *SyncedEnforcer) UpdatePolicy(oldPolicy []string, newPolicy []string) (bool, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CasbinJsGetPermissionForUser ¶ added in v1.10.0
func CasbinJsGetPermissionForUserOld ¶ added in v1.10.0
func GetCacheKey ¶ added in v1.10.0
func Mount ¶ added in v1.10.1
Mount registers authz routes with the shared cloud zip.App per HIP-0106. authz contributes /v1/authz/* — health, readyz, check, and policy CRUD. The full enforcement library remains importable directly (package authz) for in-process consumers that need richer semantics than the HTTP surface exposes.
Types ¶
type CacheableParam ¶ added in v1.10.0
type CacheableParam interface {
GetCacheKey() string
}
type CachedEnforcer ¶ added in v1.6.0
type CachedEnforcer struct {
*Enforcer
// contains filtered or unexported fields
}
CachedEnforcer wraps Enforcer and provides decision cache
func NewCachedEnforcer ¶ added in v1.6.0
func NewCachedEnforcer(params ...interface{}) (*CachedEnforcer, error)
NewCachedEnforcer creates a cached enforcer via file or DB.
func (*CachedEnforcer) EnableCache ¶ added in v1.6.0
func (e *CachedEnforcer) EnableCache(enableCache bool)
EnableCache determines whether to enable cache on Enforce(). When enableCache is enabled, cached result (true | false) will be returned for previous decisions.
func (*CachedEnforcer) Enforce ¶ added in v1.6.0
func (e *CachedEnforcer) Enforce(rvals ...interface{}) (bool, error)
Enforce decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act). if rvals is not string , ingore the cache
func (*CachedEnforcer) InvalidateCache ¶ added in v1.6.0
func (e *CachedEnforcer) InvalidateCache() error
InvalidateCache deletes all the existing cached decisions.
func (*CachedEnforcer) LoadPolicy ¶ added in v1.10.0
func (e *CachedEnforcer) LoadPolicy() error
func (*CachedEnforcer) RemovePolicies ¶ added in v1.10.0
func (e *CachedEnforcer) RemovePolicies(rules [][]string) (bool, error)
func (*CachedEnforcer) RemovePolicy ¶ added in v1.10.0
func (e *CachedEnforcer) RemovePolicy(params ...interface{}) (bool, error)
func (*CachedEnforcer) SetCache ¶ added in v1.10.0
func (e *CachedEnforcer) SetCache(c cache.Cache)
func (*CachedEnforcer) SetExpireTime ¶ added in v1.10.0
func (e *CachedEnforcer) SetExpireTime(expireTime time.Duration)
type DistributedEnforcer ¶ added in v1.10.0
type DistributedEnforcer struct {
*SyncedEnforcer
}
DistributedEnforcer wraps SyncedEnforcer for dispatcher.
func NewDistributedEnforcer ¶ added in v1.10.0
func NewDistributedEnforcer(params ...interface{}) (*DistributedEnforcer, error)
func (*DistributedEnforcer) AddPoliciesSelf ¶ added in v1.10.0
func (d *DistributedEnforcer) AddPoliciesSelf(shouldPersist func() bool, sec string, ptype string, rules [][]string) (affected [][]string, err error)
AddPoliciesSelf provides a method for dispatcher to add authorization rules to the current policy. The function returns the rules affected and error.
func (*DistributedEnforcer) ClearPolicySelf ¶ added in v1.10.0
func (d *DistributedEnforcer) ClearPolicySelf(shouldPersist func() bool) error
ClearPolicySelf provides a method for dispatcher to clear all rules from the current policy.
func (*DistributedEnforcer) RemoveFilteredPolicySelf ¶ added in v1.10.0
func (d *DistributedEnforcer) RemoveFilteredPolicySelf(shouldPersist func() bool, sec string, ptype string, fieldIndex int, fieldValues ...string) (affected [][]string, err error)
RemoveFilteredPolicySelf provides a method for dispatcher to remove an authorization rule from the current policy, field filters can be specified. The function returns the rules affected and error.
func (*DistributedEnforcer) RemovePoliciesSelf ¶ added in v1.10.0
func (d *DistributedEnforcer) RemovePoliciesSelf(shouldPersist func() bool, sec string, ptype string, rules [][]string) (affected [][]string, err error)
RemovePoliciesSelf provides a method for dispatcher to remove a set of rules from current policy. The function returns the rules affected and error.
func (*DistributedEnforcer) SetDispatcher ¶ added in v1.10.0
func (e *DistributedEnforcer) SetDispatcher(dispatcher persist.Dispatcher)
SetDispatcher sets the current dispatcher.
func (*DistributedEnforcer) UpdateFilteredPoliciesSelf ¶ added in v1.10.0
func (d *DistributedEnforcer) UpdateFilteredPoliciesSelf(shouldPersist func() bool, sec string, ptype string, newRules [][]string, fieldIndex int, fieldValues ...string) (bool, error)
UpdateFilteredPoliciesSelf provides a method for dispatcher to update a set of authorization rules from the current policy.
func (*DistributedEnforcer) UpdatePoliciesSelf ¶ added in v1.10.0
func (d *DistributedEnforcer) UpdatePoliciesSelf(shouldPersist func() bool, sec string, ptype string, oldRules, newRules [][]string) (affected bool, err error)
UpdatePoliciesSelf provides a method for dispatcher to update a set of authorization rules from the current policy.
func (*DistributedEnforcer) UpdatePolicySelf ¶ added in v1.10.0
func (d *DistributedEnforcer) UpdatePolicySelf(shouldPersist func() bool, sec string, ptype string, oldRule, newRule []string) (affected bool, err error)
UpdatePolicySelf provides a method for dispatcher to update an authorization rule from the current policy.
type EnforceContext ¶ added in v1.10.0
EnforceContext is used as the first element of the parameter "rvals" in method "enforce"
func NewEnforceContext ¶ added in v1.10.0
func NewEnforceContext(suffix string) EnforceContext
NewEnforceContext Create a default structure based on the suffix
func (EnforceContext) GetCacheKey ¶ added in v1.10.0
func (e EnforceContext) GetCacheKey() string
type Enforcer ¶
type Enforcer struct {
// contains filtered or unexported fields
}
Enforcer is the main interface for authorization enforcement and policy management.
func NewEnforcer ¶ added in v0.0.5
NewEnforcer creates an enforcer via file or DB.
File:
e := authz.NewEnforcer("path/to/basic_model.conf", "path/to/basic_policy.csv")
MySQL DB:
a := mysqladapter.NewDBAdapter("mysql", "mysql_username:mysql_password@tcp(127.0.0.1:3306)/")
e := authz.NewEnforcer("path/to/basic_model.conf", a)
func (*Enforcer) AddFunction ¶ added in v0.0.6
func (e *Enforcer) AddFunction(name string, function govaluate.ExpressionFunction)
AddFunction adds a customized function.
func (*Enforcer) AddGroupingPolicies ¶ added in v1.10.0
AddGroupingPolicies adds role inheritance rules to the current policy. If the rule already exists, the function returns false for the corresponding policy rule and the rule will not be added. Otherwise the function returns true for the corresponding policy rule by adding the new rule.
func (*Enforcer) AddGroupingPoliciesEx ¶ added in v1.10.0
AddGroupingPoliciesEx adds role inheritance rules to the current policy. If the rule already exists, the rule will not be added. But unlike AddGroupingPolicies, other non-existent rules are added instead of returning false directly
func (*Enforcer) AddGroupingPolicy ¶ added in v0.0.2
AddGroupingPolicy adds a role inheritance rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.
func (*Enforcer) AddNamedDomainLinkConditionFunc ¶ added in v1.10.0
func (e *Enforcer) AddNamedDomainLinkConditionFunc(ptype, user, role string, domain string, fn rbac.LinkConditionFunc) bool
AddNamedDomainLinkConditionFunc Add condition function fn for Link userName-> {roleName, domain}, when fn returns true, Link is valid, otherwise invalid
func (*Enforcer) AddNamedDomainMatchingFunc ¶ added in v1.10.0
func (e *Enforcer) AddNamedDomainMatchingFunc(ptype, name string, fn rbac.MatchingFunc) bool
AddNamedDomainMatchingFunc add MatchingFunc by ptype to RoleManager
func (*Enforcer) AddNamedGroupingPolicies ¶ added in v1.10.0
AddNamedGroupingPolicies adds named role inheritance rules to the current policy. If the rule already exists, the function returns false for the corresponding policy rule and the rule will not be added. Otherwise the function returns true for the corresponding policy rule by adding the new rule.
func (*Enforcer) AddNamedGroupingPoliciesEx ¶ added in v1.10.0
AddNamedGroupingPoliciesEx adds named role inheritance rules to the current policy. If the rule already exists, the rule will not be added. But unlike AddNamedGroupingPolicies, other non-existent rules are added instead of returning false directly
func (*Enforcer) AddNamedGroupingPolicy ¶ added in v1.1.0
AddNamedGroupingPolicy adds a named role inheritance rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.
func (*Enforcer) AddNamedLinkConditionFunc ¶ added in v1.10.0
func (e *Enforcer) AddNamedLinkConditionFunc(ptype, user, role string, fn rbac.LinkConditionFunc) bool
AddNamedLinkConditionFunc Add condition function fn for Link userName->roleName, when fn returns true, Link is valid, otherwise invalid
func (*Enforcer) AddNamedMatchingFunc ¶ added in v1.10.0
func (e *Enforcer) AddNamedMatchingFunc(ptype, name string, fn rbac.MatchingFunc) bool
AddNamedMatchingFunc add MatchingFunc by ptype RoleManager
func (*Enforcer) AddNamedPolicies ¶ added in v1.10.0
AddNamedPolicies adds authorization rules to the current named policy. If the rule already exists, the function returns false for the corresponding rule and the rule will not be added. Otherwise the function returns true for the corresponding by adding the new rule.
func (*Enforcer) AddNamedPoliciesEx ¶ added in v1.10.0
AddNamedPoliciesEx adds authorization rules to the current named policy. If the rule already exists, the rule will not be added. But unlike AddNamedPolicies, other non-existent rules are added instead of returning false directly
func (*Enforcer) AddNamedPolicy ¶ added in v1.1.0
AddNamedPolicy adds an authorization rule to the current named policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.
func (*Enforcer) AddPermissionForUser ¶ added in v0.0.5
AddPermissionForUser adds a permission for a user or role. Returns false if the user or role already has the permission (aka not affected).
func (*Enforcer) AddPermissionsForUser ¶ added in v1.10.0
AddPermissionsForUser adds multiple permissions for a user or role. Returns false if the user or role already has one of the permissions (aka not affected).
func (*Enforcer) AddPolicies ¶ added in v1.10.0
AddPolicies adds authorization rules to the current policy. If the rule already exists, the function returns false for the corresponding rule and the rule will not be added. Otherwise the function returns true for the corresponding rule by adding the new rule.
func (*Enforcer) AddPoliciesEx ¶ added in v1.10.0
AddPoliciesEx adds authorization rules to the current policy. If the rule already exists, the rule will not be added. But unlike AddPolicies, other non-existent rules are added instead of returning false directly
func (*Enforcer) AddPolicy ¶ added in v0.0.2
AddPolicy adds an authorization rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.
func (*Enforcer) AddRoleForUser ¶ added in v0.0.5
AddRoleForUser adds a role for a user. Returns false if the user already has the role (aka not affected).
func (*Enforcer) AddRoleForUserInDomain ¶ added in v1.1.0
AddRoleForUserInDomain adds a role for a user inside a domain. Returns false if the user already has the role (aka not affected).
func (*Enforcer) AddRolesForUser ¶ added in v1.10.0
AddRolesForUser adds roles for a user. Returns false if the user already has the roles (aka not affected).
func (*Enforcer) BatchEnforce ¶ added in v1.10.0
BatchEnforce enforce in batches
func (*Enforcer) BatchEnforceWithMatcher ¶ added in v1.10.0
func (e *Enforcer) BatchEnforceWithMatcher(matcher string, requests [][]interface{}) ([]bool, error)
BatchEnforceWithMatcher enforce with matcher in batches
func (*Enforcer) BuildIncrementalConditionalRoleLinks ¶ added in v1.10.0
func (e *Enforcer) BuildIncrementalConditionalRoleLinks(op model.PolicyOp, ptype string, rules [][]string) error
BuildIncrementalConditionalRoleLinks provides incremental build the role inheritance relations with conditions.
func (*Enforcer) BuildIncrementalRoleLinks ¶ added in v1.10.0
func (e *Enforcer) BuildIncrementalRoleLinks(op model.PolicyOp, ptype string, rules [][]string) error
BuildIncrementalRoleLinks provides incremental build the role inheritance relations.
func (*Enforcer) BuildRoleLinks ¶ added in v1.1.0
BuildRoleLinks manually rebuild the role inheritance relations.
func (*Enforcer) ClearPolicy ¶ added in v0.0.5
func (e *Enforcer) ClearPolicy()
ClearPolicy clears all policy.
func (*Enforcer) DeleteAllUsersByDomain ¶ added in v1.10.0
DeleteAllUsersByDomain would delete all users associated with the domain.
func (*Enforcer) DeleteDomains ¶ added in v1.10.0
DeleteDomains would delete all associated users and roles. It would delete all domains if parameter is not provided.
func (*Enforcer) DeletePermission ¶ added in v0.0.5
DeletePermission deletes a permission. Returns false if the permission does not exist (aka not affected).
func (*Enforcer) DeletePermissionForUser ¶ added in v0.6.0
DeletePermissionForUser deletes a permission for a user or role. Returns false if the user or role does not have the permission (aka not affected).
func (*Enforcer) DeletePermissionsForUser ¶ added in v0.0.5
DeletePermissionsForUser deletes permissions for a user or role. Returns false if the user or role does not have any permissions (aka not affected).
func (*Enforcer) DeleteRole ¶ added in v0.0.5
DeleteRole deletes a role. Returns false if the role does not exist (aka not affected).
func (*Enforcer) DeleteRoleForUser ¶ added in v0.6.0
DeleteRoleForUser deletes a role for a user. Returns false if the user does not have the role (aka not affected).
func (*Enforcer) DeleteRoleForUserInDomain ¶ added in v1.1.0
DeleteRoleForUserInDomain deletes a role for a user inside a domain. Returns false if the user does not have the role (aka not affected).
func (*Enforcer) DeleteRolesForUser ¶ added in v0.0.5
DeleteRolesForUser deletes all roles for a user. Returns false if the user does not have any roles (aka not affected).
func (*Enforcer) DeleteRolesForUserInDomain ¶ added in v1.10.0
DeleteRolesForUserInDomain deletes all roles for a user inside a domain. Returns false if the user does not have any roles (aka not affected).
func (*Enforcer) DeleteUser ¶ added in v0.0.5
DeleteUser deletes a user. Returns false if the user does not exist (aka not affected).
func (*Enforcer) EnableAcceptJsonRequest ¶ added in v1.10.0
EnableAcceptJsonRequest controls whether to accept json as a request parameter
func (*Enforcer) EnableAutoBuildRoleLinks ¶ added in v1.1.0
EnableAutoBuildRoleLinks controls whether to rebuild the role inheritance relations when a role is added or deleted.
func (*Enforcer) EnableAutoNotifyDispatcher ¶ added in v1.10.0
EnableAutoNotifyDispatcher controls whether to save a policy rule automatically notify the Dispatcher when it is added or removed.
func (*Enforcer) EnableAutoNotifyWatcher ¶ added in v1.10.0
EnableAutoNotifyWatcher controls whether to save a policy rule automatically notify the Watcher when it is added or removed.
func (*Enforcer) EnableAutoSave ¶ added in v0.10.0
EnableAutoSave controls whether to save a policy rule automatically to the adapter when it is added or removed.
func (*Enforcer) EnableEnforce ¶ added in v0.10.0
EnableEnforce changes the enforcing state of Casbin, when Casbin is disabled, all access will be allowed by the Enforce() function.
func (*Enforcer) EnableLog ¶ added in v0.6.0
EnableLog changes whether Casbin will log messages to the Logger.
func (*Enforcer) Enforce ¶ added in v0.0.2
Enforce decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act).
func (*Enforcer) EnforceEx ¶ added in v1.10.0
EnforceEx explain enforcement by informing matched rules
func (*Enforcer) EnforceExWithMatcher ¶ added in v1.10.0
func (e *Enforcer) EnforceExWithMatcher(matcher string, rvals ...interface{}) (bool, []string, error)
EnforceExWithMatcher use a custom matcher and explain enforcement by informing matched rules
func (*Enforcer) EnforceWithMatcher ¶ added in v1.10.0
EnforceWithMatcher use a custom matcher to decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (matcher, sub, obj, act), use model matcher by default when matcher is "".
func (*Enforcer) GetAdapter ¶ added in v0.8.0
GetAdapter gets the current adapter.
func (*Enforcer) GetAllActions ¶ added in v0.0.2
GetAllActions gets the list of actions that show up in the current policy.
func (*Enforcer) GetAllDomains ¶ added in v1.10.0
GetAllDomains would get all domains.
func (*Enforcer) GetAllNamedActions ¶ added in v1.1.0
GetAllNamedActions gets the list of actions that show up in the current named policy.
func (*Enforcer) GetAllNamedObjects ¶ added in v1.1.0
GetAllNamedObjects gets the list of objects that show up in the current named policy.
func (*Enforcer) GetAllNamedRoles ¶ added in v1.1.0
GetAllNamedRoles gets the list of roles that show up in the current named policy.
func (*Enforcer) GetAllNamedSubjects ¶ added in v1.1.0
GetAllNamedSubjects gets the list of subjects that show up in the current named policy.
func (*Enforcer) GetAllObjects ¶ added in v0.0.2
GetAllObjects gets the list of objects that show up in the current policy.
func (*Enforcer) GetAllRoles ¶ added in v0.0.2
GetAllRoles gets the list of roles that show up in the current policy.
func (*Enforcer) GetAllRolesByDomain ¶ added in v1.10.0
GetAllRolesByDomain would get all roles associated with the domain. note: Not applicable to Domains with inheritance relationship (implicit roles)
func (*Enforcer) GetAllSubjects ¶ added in v0.0.2
GetAllSubjects gets the list of subjects that show up in the current policy.
func (*Enforcer) GetAllUsersByDomain ¶ added in v1.10.0
GetAllUsersByDomain would get all users associated with the domain.
func (*Enforcer) GetAllowedObjectConditions ¶ added in v1.10.0
func (e *Enforcer) GetAllowedObjectConditions(user string, action string, prefix string) ([]string, error)
GetAllowedObjectConditions returns a string array of object conditions that the user can access. For example: conditions, err := e.GetAllowedObjectConditions("alice", "read", "r.obj.") Note:
0. prefix: You can customize the prefix of the object conditions, and "r.obj." is commonly used as a prefix. After removing the prefix, the remaining part is the condition of the object. If there is an obj policy that does not meet the prefix requirement, an errors.ERR_OBJ_CONDITION will be returned.
1. If the 'objectConditions' array is empty, return errors.ERR_EMPTY_CONDITION This error is returned because some data adapters' ORM return full table data by default when they receive an empty condition, which tends to behave contrary to expectations.(e.g. GORM) If you are using an adapter that does not behave like this, you can choose to ignore this error.
func (*Enforcer) GetDomainsForUser ¶ added in v1.10.0
GetDomainsForUser gets all domains
func (*Enforcer) GetFieldIndex ¶ added in v1.10.0
func (*Enforcer) GetFilteredGroupingPolicy ¶ added in v0.9.0
GetFilteredGroupingPolicy gets all the role inheritance rules in the policy, field filters can be specified.
func (*Enforcer) GetFilteredNamedGroupingPolicy ¶ added in v1.1.0
func (e *Enforcer) GetFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string
GetFilteredNamedGroupingPolicy gets all the role inheritance rules in the policy, field filters can be specified.
func (*Enforcer) GetFilteredNamedPolicy ¶ added in v1.1.0
func (e *Enforcer) GetFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string
GetFilteredNamedPolicy gets all the authorization rules in the named policy, field filters can be specified.
func (*Enforcer) GetFilteredNamedPolicyWithMatcher ¶ added in v1.10.0
func (e *Enforcer) GetFilteredNamedPolicyWithMatcher(ptype string, matcher string) ([][]string, error)
GetFilteredNamedPolicyWithMatcher gets rules based on matcher from the policy.
func (*Enforcer) GetFilteredPolicy ¶ added in v0.0.2
GetFilteredPolicy gets all the authorization rules in the policy, field filters can be specified.
func (*Enforcer) GetGroupingPolicy ¶ added in v0.0.2
GetGroupingPolicy gets all the role inheritance rules in the policy.
func (*Enforcer) GetImplicitPermissionsForUser ¶ added in v1.7.0
GetImplicitPermissionsForUser gets implicit permissions for a user or role. Compared to GetPermissionsForUser(), this function retrieves permissions for inherited roles. For example: p, admin, data1, read p, alice, data2, read g, alice, admin
GetPermissionsForUser("alice") can only get: [["alice", "data2", "read"]]. But GetImplicitPermissionsForUser("alice") will get: [["admin", "data1", "read"], ["alice", "data2", "read"]].
func (*Enforcer) GetImplicitResourcesForUser ¶ added in v1.10.0
GetImplicitResourcesForUser returns all policies that user obtaining in domain
func (*Enforcer) GetImplicitRolesForUser ¶ added in v1.7.0
GetImplicitRolesForUser gets implicit roles that a user has. Compared to GetRolesForUser(), this function retrieves indirect roles besides direct roles. For example: g, alice, role:admin g, role:admin, role:user
GetRolesForUser("alice") can only get: ["role:admin"]. But GetImplicitRolesForUser("alice") will get: ["role:admin", "role:user"].
func (*Enforcer) GetImplicitUsersForPermission ¶ added in v1.10.0
GetImplicitUsersForPermission gets implicit users for a permission. For example: p, admin, data1, read p, bob, data1, read g, alice, admin
GetImplicitUsersForPermission("data1", "read") will get: ["alice", "bob"]. Note: only users will be returned, roles (2nd arg in "g") will be excluded.
func (*Enforcer) GetImplicitUsersForResource ¶ added in v1.10.0
GetImplicitUsersForResource return implicit user based on resource. for example: p, alice, data1, read p, bob, data2, write p, data2_admin, data2, read p, data2_admin, data2, write g, alice, data2_admin GetImplicitUsersForResource("data2") will return [[bob data2 write] [alice data2 read] [alice data2 write]] GetImplicitUsersForResource("data1") will return [[alice data1 read]] Note: only users will be returned, roles (2nd arg in "g") will be excluded.
func (*Enforcer) GetImplicitUsersForResourceByDomain ¶ added in v1.10.0
func (e *Enforcer) GetImplicitUsersForResourceByDomain(resource string, domain string) ([][]string, error)
GetImplicitUsersForResourceByDomain return implicit user based on resource and domain. Compared to GetImplicitUsersForResource, domain is supported
func (*Enforcer) GetImplicitUsersForRole ¶ added in v1.10.0
GetImplicitUsersForRole gets implicit users for a role.
func (*Enforcer) GetNamedGroupingPolicy ¶ added in v1.1.0
GetNamedGroupingPolicy gets all the role inheritance rules in the policy.
func (*Enforcer) GetNamedImplicitPermissionsForUser ¶ added in v1.10.0
func (e *Enforcer) GetNamedImplicitPermissionsForUser(ptype string, user string, domain ...string) ([][]string, error)
GetNamedImplicitPermissionsForUser gets implicit permissions for a user or role by named policy. Compared to GetNamedPermissionsForUser(), this function retrieves permissions for inherited roles. For example: p, admin, data1, read p2, admin, create g, alice, admin
GetImplicitPermissionsForUser("alice") can only get: [["admin", "data1", "read"]], whose policy is default policy "p" But you can specify the named policy "p2" to get: [["admin", "create"]] by GetNamedImplicitPermissionsForUser("p2","alice")
func (*Enforcer) GetNamedPermissionsForUser ¶ added in v1.10.0
func (e *Enforcer) GetNamedPermissionsForUser(ptype string, user string, domain ...string) [][]string
GetNamedPermissionsForUser gets permissions for a user or role by named policy.
func (*Enforcer) GetNamedPolicy ¶ added in v1.1.0
GetNamedPolicy gets all the authorization rules in the named policy.
func (*Enforcer) GetNamedRoleManager ¶ added in v1.10.0
func (e *Enforcer) GetNamedRoleManager(ptype string) rbac.RoleManager
GetNamedRoleManager gets the role manager for the named policy.
func (*Enforcer) GetPermissionsForUser ¶ added in v0.0.5
GetPermissionsForUser gets permissions for a user or role.
func (*Enforcer) GetPermissionsForUserInDomain ¶ added in v1.1.0
GetPermissionsForUserInDomain gets permissions for a user or role inside a domain.
func (*Enforcer) GetPolicy ¶ added in v0.0.2
GetPolicy gets all the authorization rules in the policy.
func (*Enforcer) GetRoleManager ¶ added in v1.10.0
func (e *Enforcer) GetRoleManager() rbac.RoleManager
GetRoleManager gets the current role manager.
func (*Enforcer) GetRolesForUser ¶ added in v0.0.5
GetRolesForUser gets the roles that a user has.
func (*Enforcer) GetRolesForUserInDomain ¶ added in v1.1.0
GetRolesForUserInDomain gets the roles that a user has inside a domain.
func (*Enforcer) GetUsersForRole ¶ added in v0.7.0
GetUsersForRole gets the users that has a role.
func (*Enforcer) GetUsersForRoleInDomain ¶ added in v1.10.0
GetUsersForRoleInDomain gets the users that has a role inside a domain. Add by Gordon
func (*Enforcer) HasGroupingPolicy ¶ added in v0.6.0
HasGroupingPolicy determines whether a role inheritance rule exists.
func (*Enforcer) HasNamedGroupingPolicy ¶ added in v1.1.0
HasNamedGroupingPolicy determines whether a named role inheritance rule exists.
func (*Enforcer) HasNamedPolicy ¶ added in v1.1.0
HasNamedPolicy determines whether a named authorization rule exists.
func (*Enforcer) HasPermissionForUser ¶ added in v0.6.0
HasPermissionForUser determines whether a user has a permission.
func (*Enforcer) HasPolicy ¶ added in v0.6.0
HasPolicy determines whether an authorization rule exists.
func (*Enforcer) HasRoleForUser ¶ added in v0.6.0
HasRoleForUser determines whether a user has a role.
func (*Enforcer) InitWithAdapter ¶ added in v0.0.5
InitWithAdapter initializes an enforcer with a database adapter.
func (*Enforcer) InitWithFile ¶ added in v0.0.5
InitWithFile initializes an enforcer with a model file and a policy file.
func (*Enforcer) InitWithModelAndAdapter ¶ added in v0.8.0
InitWithModelAndAdapter initializes an enforcer with a model and a database adapter.
func (*Enforcer) IsFiltered ¶ added in v1.5.0
IsFiltered returns true if the loaded policy has been filtered.
func (*Enforcer) IsLogEnabled ¶ added in v1.10.0
IsLogEnabled returns the current logger's enabled status.
func (*Enforcer) LoadFilteredPolicy ¶ added in v1.5.0
LoadFilteredPolicy reloads a filtered policy from file/database.
func (*Enforcer) LoadIncrementalFilteredPolicy ¶ added in v1.10.0
LoadIncrementalFilteredPolicy append a filtered policy from file/database.
func (*Enforcer) LoadModel ¶ added in v0.0.5
LoadModel reloads the model from the model CONF file. Because the policy is attached to a model, so the policy is invalidated and needs to be reloaded by calling LoadPolicy().
func (*Enforcer) LoadPolicy ¶ added in v0.0.2
LoadPolicy reloads the policy from file/database.
func (*Enforcer) RemoveFilteredGroupingPolicy ¶ added in v0.0.5
func (e *Enforcer) RemoveFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredGroupingPolicy removes a role inheritance rule from the current policy, field filters can be specified.
func (*Enforcer) RemoveFilteredNamedGroupingPolicy ¶ added in v1.1.0
func (e *Enforcer) RemoveFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredNamedGroupingPolicy removes a role inheritance rule from the current named policy, field filters can be specified.
func (*Enforcer) RemoveFilteredNamedPolicy ¶ added in v1.1.0
func (e *Enforcer) RemoveFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredNamedPolicy removes an authorization rule from the current named policy, field filters can be specified.
func (*Enforcer) RemoveFilteredPolicy ¶ added in v0.0.5
RemoveFilteredPolicy removes an authorization rule from the current policy, field filters can be specified.
func (*Enforcer) RemoveGroupingPolicies ¶ added in v1.10.0
RemoveGroupingPolicies removes role inheritance rules from the current policy.
func (*Enforcer) RemoveGroupingPolicy ¶ added in v0.0.2
RemoveGroupingPolicy removes a role inheritance rule from the current policy.
func (*Enforcer) RemoveNamedGroupingPolicies ¶ added in v1.10.0
RemoveNamedGroupingPolicies removes role inheritance rules from the current named policy.
func (*Enforcer) RemoveNamedGroupingPolicy ¶ added in v1.1.0
RemoveNamedGroupingPolicy removes a role inheritance rule from the current named policy.
func (*Enforcer) RemoveNamedPolicies ¶ added in v1.10.0
RemoveNamedPolicies removes authorization rules from the current named policy.
func (*Enforcer) RemoveNamedPolicy ¶ added in v1.1.0
RemoveNamedPolicy removes an authorization rule from the current named policy.
func (*Enforcer) RemovePolicies ¶ added in v1.10.0
RemovePolicies removes authorization rules from the current policy.
func (*Enforcer) RemovePolicy ¶ added in v0.0.2
RemovePolicy removes an authorization rule from the current policy.
func (*Enforcer) SavePolicy ¶ added in v0.0.2
SavePolicy saves the current policy (usually after changed with Casbin API) back to file/database.
func (*Enforcer) SelfAddPolicies ¶ added in v1.10.0
func (*Enforcer) SelfAddPoliciesEx ¶ added in v1.10.0
func (*Enforcer) SelfAddPolicy ¶ added in v1.10.0
func (*Enforcer) SelfRemoveFilteredPolicy ¶ added in v1.10.0
func (*Enforcer) SelfRemovePolicies ¶ added in v1.10.0
func (*Enforcer) SelfRemovePolicy ¶ added in v1.10.0
func (*Enforcer) SelfUpdatePolicies ¶ added in v1.10.0
func (*Enforcer) SelfUpdatePolicy ¶ added in v1.10.0
func (*Enforcer) SetAdapter ¶ added in v0.8.0
SetAdapter sets the current adapter.
func (*Enforcer) SetEffector ¶ added in v1.5.0
SetEffector sets the current effector.
func (*Enforcer) SetFieldIndex ¶ added in v1.10.0
func (*Enforcer) SetNamedDomainLinkConditionFuncParams ¶ added in v1.10.0
func (e *Enforcer) SetNamedDomainLinkConditionFuncParams(ptype, user, role, domain string, params ...string) bool
SetNamedDomainLinkConditionFuncParams Sets the parameters of the condition function fn for Link userName->{roleName, domain}
func (*Enforcer) SetNamedLinkConditionFuncParams ¶ added in v1.10.0
SetNamedLinkConditionFuncParams Sets the parameters of the condition function fn for Link userName->roleName
func (*Enforcer) SetNamedRoleManager ¶ added in v1.10.0
func (e *Enforcer) SetNamedRoleManager(ptype string, rm rbac.RoleManager)
SetNamedRoleManager sets the role manager for the named policy.
func (*Enforcer) SetRoleManager ¶ added in v1.1.0
func (e *Enforcer) SetRoleManager(rm rbac.RoleManager)
SetRoleManager sets the current role manager.
func (*Enforcer) SetWatcher ¶ added in v1.2.0
SetWatcher sets the current watcher.
func (*Enforcer) UpdateFilteredNamedPolicies ¶ added in v1.10.0
func (*Enforcer) UpdateFilteredPolicies ¶ added in v1.10.0
func (*Enforcer) UpdateGroupingPolicies ¶ added in v1.10.0
UpdateGroupingPolicies updates authorization rules from the current policies.
func (*Enforcer) UpdateGroupingPolicy ¶ added in v1.10.0
func (*Enforcer) UpdateNamedGroupingPolicies ¶ added in v1.10.0
func (*Enforcer) UpdateNamedGroupingPolicy ¶ added in v1.10.0
func (*Enforcer) UpdateNamedPolicies ¶ added in v1.10.0
func (*Enforcer) UpdateNamedPolicy ¶ added in v1.10.0
func (*Enforcer) UpdatePolicies ¶ added in v1.10.0
UpdatePolicies updates authorization rules from the current policies.
type IDistributedEnforcer ¶ added in v1.10.0
type IDistributedEnforcer interface {
IEnforcer
SetDispatcher(dispatcher persist.Dispatcher)
/* Management API for DistributedEnforcer*/
AddPoliciesSelf(shouldPersist func() bool, sec string, ptype string, rules [][]string) (affected [][]string, err error)
RemovePoliciesSelf(shouldPersist func() bool, sec string, ptype string, rules [][]string) (affected [][]string, err error)
RemoveFilteredPolicySelf(shouldPersist func() bool, sec string, ptype string, fieldIndex int, fieldValues ...string) (affected [][]string, err error)
ClearPolicySelf(shouldPersist func() bool) error
UpdatePolicySelf(shouldPersist func() bool, sec string, ptype string, oldRule, newRule []string) (affected bool, err error)
UpdatePoliciesSelf(shouldPersist func() bool, sec string, ptype string, oldRules, newRules [][]string) (affected bool, err error)
UpdateFilteredPoliciesSelf(shouldPersist func() bool, sec string, ptype string, newRules [][]string, fieldIndex int, fieldValues ...string) (bool, error)
}
IDistributedEnforcer defines dispatcher enforcer.
type IEnforcer ¶ added in v1.10.0
type IEnforcer interface {
/* Enforcer API */
InitWithFile(modelPath string, policyPath string) error
InitWithAdapter(modelPath string, adapter persist.Adapter) error
InitWithModelAndAdapter(m model.Model, adapter persist.Adapter) error
LoadModel() error
GetModel() model.Model
SetModel(m model.Model)
GetAdapter() persist.Adapter
SetAdapter(adapter persist.Adapter)
SetWatcher(watcher persist.Watcher) error
GetRoleManager() rbac.RoleManager
SetRoleManager(rm rbac.RoleManager)
SetEffector(eft effector.Effector)
ClearPolicy()
LoadPolicy() error
LoadFilteredPolicy(filter interface{}) error
LoadIncrementalFilteredPolicy(filter interface{}) error
IsFiltered() bool
SavePolicy() error
EnableEnforce(enable bool)
EnableLog(enable bool)
EnableAutoNotifyWatcher(enable bool)
EnableAutoSave(autoSave bool)
EnableAutoBuildRoleLinks(autoBuildRoleLinks bool)
BuildRoleLinks() error
Enforce(rvals ...interface{}) (bool, error)
EnforceWithMatcher(matcher string, rvals ...interface{}) (bool, error)
EnforceEx(rvals ...interface{}) (bool, []string, error)
EnforceExWithMatcher(matcher string, rvals ...interface{}) (bool, []string, error)
BatchEnforce(requests [][]interface{}) ([]bool, error)
BatchEnforceWithMatcher(matcher string, requests [][]interface{}) ([]bool, error)
/* RBAC API */
GetRolesForUser(name string, domain ...string) ([]string, error)
GetUsersForRole(name string, domain ...string) ([]string, error)
HasRoleForUser(name string, role string, domain ...string) (bool, error)
AddRoleForUser(user string, role string, domain ...string) (bool, error)
AddPermissionForUser(user string, permission ...string) (bool, error)
AddPermissionsForUser(user string, permissions ...[]string) (bool, error)
DeletePermissionForUser(user string, permission ...string) (bool, error)
DeletePermissionsForUser(user string) (bool, error)
GetPermissionsForUser(user string, domain ...string) [][]string
HasPermissionForUser(user string, permission ...string) bool
GetImplicitRolesForUser(name string, domain ...string) ([]string, error)
GetImplicitPermissionsForUser(user string, domain ...string) ([][]string, error)
GetImplicitUsersForPermission(permission ...string) ([]string, error)
DeleteRoleForUser(user string, role string, domain ...string) (bool, error)
DeleteRolesForUser(user string, domain ...string) (bool, error)
DeleteUser(user string) (bool, error)
DeleteRole(role string) (bool, error)
DeletePermission(permission ...string) (bool, error)
/* RBAC API with domains*/
GetUsersForRoleInDomain(name string, domain string) []string
GetRolesForUserInDomain(name string, domain string) []string
GetPermissionsForUserInDomain(user string, domain string) [][]string
AddRoleForUserInDomain(user string, role string, domain string) (bool, error)
DeleteRoleForUserInDomain(user string, role string, domain string) (bool, error)
/* Management API */
GetAllSubjects() []string
GetAllNamedSubjects(ptype string) []string
GetAllObjects() []string
GetAllNamedObjects(ptype string) []string
GetAllActions() []string
GetAllNamedActions(ptype string) []string
GetAllRoles() []string
GetAllNamedRoles(ptype string) []string
GetPolicy() [][]string
GetFilteredPolicy(fieldIndex int, fieldValues ...string) [][]string
GetNamedPolicy(ptype string) [][]string
GetFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string
GetGroupingPolicy() [][]string
GetFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) [][]string
GetNamedGroupingPolicy(ptype string) [][]string
GetFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string
HasPolicy(params ...interface{}) bool
HasNamedPolicy(ptype string, params ...interface{}) bool
AddPolicy(params ...interface{}) (bool, error)
AddPolicies(rules [][]string) (bool, error)
AddNamedPolicy(ptype string, params ...interface{}) (bool, error)
AddNamedPolicies(ptype string, rules [][]string) (bool, error)
AddPoliciesEx(rules [][]string) (bool, error)
AddNamedPoliciesEx(ptype string, rules [][]string) (bool, error)
RemovePolicy(params ...interface{}) (bool, error)
RemovePolicies(rules [][]string) (bool, error)
RemoveFilteredPolicy(fieldIndex int, fieldValues ...string) (bool, error)
RemoveNamedPolicy(ptype string, params ...interface{}) (bool, error)
RemoveNamedPolicies(ptype string, rules [][]string) (bool, error)
RemoveFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
HasGroupingPolicy(params ...interface{}) bool
HasNamedGroupingPolicy(ptype string, params ...interface{}) bool
AddGroupingPolicy(params ...interface{}) (bool, error)
AddGroupingPolicies(rules [][]string) (bool, error)
AddGroupingPoliciesEx(rules [][]string) (bool, error)
AddNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
AddNamedGroupingPolicies(ptype string, rules [][]string) (bool, error)
AddNamedGroupingPoliciesEx(ptype string, rules [][]string) (bool, error)
RemoveGroupingPolicy(params ...interface{}) (bool, error)
RemoveGroupingPolicies(rules [][]string) (bool, error)
RemoveFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) (bool, error)
RemoveNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
RemoveNamedGroupingPolicies(ptype string, rules [][]string) (bool, error)
RemoveFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
AddFunction(name string, function govaluate.ExpressionFunction)
UpdatePolicy(oldPolicy []string, newPolicy []string) (bool, error)
UpdatePolicies(oldPolicies [][]string, newPolicies [][]string) (bool, error)
UpdateFilteredPolicies(newPolicies [][]string, fieldIndex int, fieldValues ...string) (bool, error)
UpdateGroupingPolicy(oldRule []string, newRule []string) (bool, error)
UpdateGroupingPolicies(oldRules [][]string, newRules [][]string) (bool, error)
UpdateNamedGroupingPolicy(ptype string, oldRule []string, newRule []string) (bool, error)
UpdateNamedGroupingPolicies(ptype string, oldRules [][]string, newRules [][]string) (bool, error)
/* Management API with autoNotifyWatcher disabled */
SelfAddPolicy(sec string, ptype string, rule []string) (bool, error)
SelfAddPolicies(sec string, ptype string, rules [][]string) (bool, error)
SelfAddPoliciesEx(sec string, ptype string, rules [][]string) (bool, error)
SelfRemovePolicy(sec string, ptype string, rule []string) (bool, error)
SelfRemovePolicies(sec string, ptype string, rules [][]string) (bool, error)
SelfRemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
SelfUpdatePolicy(sec string, ptype string, oldRule, newRule []string) (bool, error)
SelfUpdatePolicies(sec string, ptype string, oldRules, newRules [][]string) (bool, error)
}
IEnforcer is the API interface of Enforcer
type SyncedCachedEnforcer ¶ added in v1.10.0
type SyncedCachedEnforcer struct {
*SyncedEnforcer
// contains filtered or unexported fields
}
SyncedCachedEnforcer wraps Enforcer and provides decision sync cache
func NewSyncedCachedEnforcer ¶ added in v1.10.0
func NewSyncedCachedEnforcer(params ...interface{}) (*SyncedCachedEnforcer, error)
NewSyncedCachedEnforcer creates a sync cached enforcer via file or DB.
func (*SyncedCachedEnforcer) AddPolicies ¶ added in v1.10.0
func (e *SyncedCachedEnforcer) AddPolicies(rules [][]string) (bool, error)
func (*SyncedCachedEnforcer) AddPolicy ¶ added in v1.10.0
func (e *SyncedCachedEnforcer) AddPolicy(params ...interface{}) (bool, error)
func (*SyncedCachedEnforcer) EnableCache ¶ added in v1.10.0
func (e *SyncedCachedEnforcer) EnableCache(enableCache bool)
EnableCache determines whether to enable cache on Enforce(). When enableCache is enabled, cached result (true | false) will be returned for previous decisions.
func (*SyncedCachedEnforcer) Enforce ¶ added in v1.10.0
func (e *SyncedCachedEnforcer) Enforce(rvals ...interface{}) (bool, error)
Enforce decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act). if rvals is not string , ingore the cache
func (*SyncedCachedEnforcer) InvalidateCache ¶ added in v1.10.0
func (e *SyncedCachedEnforcer) InvalidateCache() error
InvalidateCache deletes all the existing cached decisions.
func (*SyncedCachedEnforcer) LoadPolicy ¶ added in v1.10.0
func (e *SyncedCachedEnforcer) LoadPolicy() error
func (*SyncedCachedEnforcer) RemovePolicies ¶ added in v1.10.0
func (e *SyncedCachedEnforcer) RemovePolicies(rules [][]string) (bool, error)
func (*SyncedCachedEnforcer) RemovePolicy ¶ added in v1.10.0
func (e *SyncedCachedEnforcer) RemovePolicy(params ...interface{}) (bool, error)
func (*SyncedCachedEnforcer) SetCache ¶ added in v1.10.0
func (e *SyncedCachedEnforcer) SetCache(c cache.Cache)
SetCache need to be sync cache
func (*SyncedCachedEnforcer) SetExpireTime ¶ added in v1.10.0
func (e *SyncedCachedEnforcer) SetExpireTime(expireTime time.Duration)
type SyncedEnforcer ¶ added in v1.1.0
type SyncedEnforcer struct {
*Enforcer
// contains filtered or unexported fields
}
SyncedEnforcer wraps Enforcer and provides synchronized access
func NewSyncedEnforcer ¶ added in v1.1.0
func NewSyncedEnforcer(params ...interface{}) (*SyncedEnforcer, error)
NewSyncedEnforcer creates a synchronized enforcer via file or DB.
func (*SyncedEnforcer) AddFunction ¶ added in v1.10.0
func (e *SyncedEnforcer) AddFunction(name string, function govaluate.ExpressionFunction)
AddFunction adds a customized function.
func (*SyncedEnforcer) AddGroupingPolicies ¶ added in v1.10.0
func (e *SyncedEnforcer) AddGroupingPolicies(rules [][]string) (bool, error)
AddGroupingPolicies adds role inheritance rulea to the current policy. If the rule already exists, the function returns false for the corresponding policy rule and the rule will not be added. Otherwise the function returns true for the corresponding policy rule by adding the new rule.
func (*SyncedEnforcer) AddGroupingPoliciesEx ¶ added in v1.10.0
func (e *SyncedEnforcer) AddGroupingPoliciesEx(rules [][]string) (bool, error)
AddGroupingPoliciesEx adds role inheritance rules to the current policy. If the rule already exists, the rule will not be added. But unlike AddGroupingPolicies, other non-existent rules are added instead of returning false directly
func (*SyncedEnforcer) AddGroupingPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) AddGroupingPolicy(params ...interface{}) (bool, error)
AddGroupingPolicy adds a role inheritance rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.
func (*SyncedEnforcer) AddNamedGroupingPolicies ¶ added in v1.10.0
func (e *SyncedEnforcer) AddNamedGroupingPolicies(ptype string, rules [][]string) (bool, error)
AddNamedGroupingPolicies adds named role inheritance rules to the current policy. If the rule already exists, the function returns false for the corresponding policy rule and the rule will not be added. Otherwise the function returns true for the corresponding policy rule by adding the new rule.
func (*SyncedEnforcer) AddNamedGroupingPoliciesEx ¶ added in v1.10.0
func (e *SyncedEnforcer) AddNamedGroupingPoliciesEx(ptype string, rules [][]string) (bool, error)
AddNamedGroupingPoliciesEx adds named role inheritance rules to the current policy. If the rule already exists, the rule will not be added. But unlike AddNamedGroupingPolicies, other non-existent rules are added instead of returning false directly
func (*SyncedEnforcer) AddNamedGroupingPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) AddNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
AddNamedGroupingPolicy adds a named role inheritance rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.
func (*SyncedEnforcer) AddNamedPolicies ¶ added in v1.10.0
func (e *SyncedEnforcer) AddNamedPolicies(ptype string, rules [][]string) (bool, error)
AddNamedPolicies adds authorization rules to the current named policy. If the rule already exists, the function returns false for the corresponding rule and the rule will not be added. Otherwise the function returns true for the corresponding by adding the new rule.
func (*SyncedEnforcer) AddNamedPoliciesEx ¶ added in v1.10.0
func (e *SyncedEnforcer) AddNamedPoliciesEx(ptype string, rules [][]string) (bool, error)
AddNamedPoliciesEx adds authorization rules to the current named policy. If the rule already exists, the rule will not be added. But unlike AddNamedPolicies, other non-existent rules are added instead of returning false directly
func (*SyncedEnforcer) AddNamedPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) AddNamedPolicy(ptype string, params ...interface{}) (bool, error)
AddNamedPolicy adds an authorization rule to the current named policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.
func (*SyncedEnforcer) AddPermissionForUser ¶ added in v1.4.0
func (e *SyncedEnforcer) AddPermissionForUser(user string, permission ...string) (bool, error)
AddPermissionForUser adds a permission for a user or role. Returns false if the user or role already has the permission (aka not affected).
func (*SyncedEnforcer) AddPermissionsForUser ¶ added in v1.10.0
func (e *SyncedEnforcer) AddPermissionsForUser(user string, permissions ...[]string) (bool, error)
AddPermissionsForUser adds permissions for a user or role. Returns false if the user or role already has the permissions (aka not affected).
func (*SyncedEnforcer) AddPolicies ¶ added in v1.10.0
func (e *SyncedEnforcer) AddPolicies(rules [][]string) (bool, error)
AddPolicies adds authorization rules to the current policy. If the rule already exists, the function returns false for the corresponding rule and the rule will not be added. Otherwise the function returns true for the corresponding rule by adding the new rule.
func (*SyncedEnforcer) AddPoliciesEx ¶ added in v1.10.0
func (e *SyncedEnforcer) AddPoliciesEx(rules [][]string) (bool, error)
AddPoliciesEx adds authorization rules to the current policy. If the rule already exists, the rule will not be added. But unlike AddPolicies, other non-existent rules are added instead of returning false directly
func (*SyncedEnforcer) AddPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) AddPolicy(params ...interface{}) (bool, error)
AddPolicy adds an authorization rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.
func (*SyncedEnforcer) AddRoleForUser ¶ added in v1.4.0
AddRoleForUser adds a role for a user. Returns false if the user already has the role (aka not affected).
func (*SyncedEnforcer) AddRoleForUserInDomain ¶ added in v1.10.0
func (e *SyncedEnforcer) AddRoleForUserInDomain(user string, role string, domain string) (bool, error)
AddRoleForUserInDomain adds a role for a user inside a domain. Returns false if the user already has the role (aka not affected).
func (*SyncedEnforcer) AddRolesForUser ¶ added in v1.10.0
func (e *SyncedEnforcer) AddRolesForUser(user string, roles []string, domain ...string) (bool, error)
AddRolesForUser adds roles for a user. Returns false if the user already has the roles (aka not affected).
func (*SyncedEnforcer) BatchEnforce ¶ added in v1.10.0
func (e *SyncedEnforcer) BatchEnforce(requests [][]interface{}) ([]bool, error)
BatchEnforce enforce in batches
func (*SyncedEnforcer) BatchEnforceWithMatcher ¶ added in v1.10.0
func (e *SyncedEnforcer) BatchEnforceWithMatcher(matcher string, requests [][]interface{}) ([]bool, error)
BatchEnforceWithMatcher enforce with matcher in batches
func (*SyncedEnforcer) BuildRoleLinks ¶ added in v1.4.0
func (e *SyncedEnforcer) BuildRoleLinks() error
BuildRoleLinks manually rebuild the role inheritance relations.
func (*SyncedEnforcer) ClearPolicy ¶ added in v1.4.0
func (e *SyncedEnforcer) ClearPolicy()
ClearPolicy clears all policy.
func (*SyncedEnforcer) DeletePermission ¶ added in v1.4.0
func (e *SyncedEnforcer) DeletePermission(permission ...string) (bool, error)
DeletePermission deletes a permission. Returns false if the permission does not exist (aka not affected).
func (*SyncedEnforcer) DeletePermissionForUser ¶ added in v1.4.0
func (e *SyncedEnforcer) DeletePermissionForUser(user string, permission ...string) (bool, error)
DeletePermissionForUser deletes a permission for a user or role. Returns false if the user or role does not have the permission (aka not affected).
func (*SyncedEnforcer) DeletePermissionsForUser ¶ added in v1.4.0
func (e *SyncedEnforcer) DeletePermissionsForUser(user string) (bool, error)
DeletePermissionsForUser deletes permissions for a user or role. Returns false if the user or role does not have any permissions (aka not affected).
func (*SyncedEnforcer) DeleteRole ¶ added in v1.4.0
func (e *SyncedEnforcer) DeleteRole(role string) (bool, error)
DeleteRole deletes a role. Returns false if the role does not exist (aka not affected).
func (*SyncedEnforcer) DeleteRoleForUser ¶ added in v1.4.0
func (e *SyncedEnforcer) DeleteRoleForUser(user string, role string, domain ...string) (bool, error)
DeleteRoleForUser deletes a role for a user. Returns false if the user does not have the role (aka not affected).
func (*SyncedEnforcer) DeleteRoleForUserInDomain ¶ added in v1.10.0
func (e *SyncedEnforcer) DeleteRoleForUserInDomain(user string, role string, domain string) (bool, error)
DeleteRoleForUserInDomain deletes a role for a user inside a domain. Returns false if the user does not have the role (aka not affected).
func (*SyncedEnforcer) DeleteRolesForUser ¶ added in v1.4.0
func (e *SyncedEnforcer) DeleteRolesForUser(user string, domain ...string) (bool, error)
DeleteRolesForUser deletes all roles for a user. Returns false if the user does not have any roles (aka not affected).
func (*SyncedEnforcer) DeleteRolesForUserInDomain ¶ added in v1.10.0
func (e *SyncedEnforcer) DeleteRolesForUserInDomain(user string, domain string) (bool, error)
DeleteRolesForUserInDomain deletes all roles for a user inside a domain. Returns false if the user does not have any roles (aka not affected).
func (*SyncedEnforcer) DeleteUser ¶ added in v1.4.0
func (e *SyncedEnforcer) DeleteUser(user string) (bool, error)
DeleteUser deletes a user. Returns false if the user does not exist (aka not affected).
func (*SyncedEnforcer) Enforce ¶ added in v1.1.0
func (e *SyncedEnforcer) Enforce(rvals ...interface{}) (bool, error)
Enforce decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act).
func (*SyncedEnforcer) EnforceEx ¶ added in v1.10.0
func (e *SyncedEnforcer) EnforceEx(rvals ...interface{}) (bool, []string, error)
EnforceEx explain enforcement by informing matched rules
func (*SyncedEnforcer) EnforceExWithMatcher ¶ added in v1.10.0
func (e *SyncedEnforcer) EnforceExWithMatcher(matcher string, rvals ...interface{}) (bool, []string, error)
EnforceExWithMatcher use a custom matcher and explain enforcement by informing matched rules
func (*SyncedEnforcer) EnforceWithMatcher ¶ added in v1.10.0
func (e *SyncedEnforcer) EnforceWithMatcher(matcher string, rvals ...interface{}) (bool, error)
EnforceWithMatcher use a custom matcher to decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (matcher, sub, obj, act), use model matcher by default when matcher is "".
func (*SyncedEnforcer) GetAllActions ¶ added in v1.1.0
func (e *SyncedEnforcer) GetAllActions() []string
GetAllActions gets the list of actions that show up in the current policy.
func (*SyncedEnforcer) GetAllNamedActions ¶ added in v1.10.0
func (e *SyncedEnforcer) GetAllNamedActions(ptype string) []string
GetAllNamedActions gets the list of actions that show up in the current named policy.
func (*SyncedEnforcer) GetAllNamedObjects ¶ added in v1.10.0
func (e *SyncedEnforcer) GetAllNamedObjects(ptype string) []string
GetAllNamedObjects gets the list of objects that show up in the current named policy.
func (*SyncedEnforcer) GetAllNamedRoles ¶ added in v1.10.0
func (e *SyncedEnforcer) GetAllNamedRoles(ptype string) []string
GetAllNamedRoles gets the list of roles that show up in the current named policy.
func (*SyncedEnforcer) GetAllNamedSubjects ¶ added in v1.10.0
func (e *SyncedEnforcer) GetAllNamedSubjects(ptype string) []string
GetAllNamedSubjects gets the list of subjects that show up in the current named policy.
func (*SyncedEnforcer) GetAllObjects ¶ added in v1.1.0
func (e *SyncedEnforcer) GetAllObjects() []string
GetAllObjects gets the list of objects that show up in the current policy.
func (*SyncedEnforcer) GetAllRoles ¶ added in v1.1.0
func (e *SyncedEnforcer) GetAllRoles() []string
GetAllRoles gets the list of roles that show up in the current policy.
func (*SyncedEnforcer) GetAllSubjects ¶ added in v1.1.0
func (e *SyncedEnforcer) GetAllSubjects() []string
GetAllSubjects gets the list of subjects that show up in the current policy.
func (*SyncedEnforcer) GetFilteredGroupingPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) GetFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) [][]string
GetFilteredGroupingPolicy gets all the role inheritance rules in the policy, field filters can be specified.
func (*SyncedEnforcer) GetFilteredNamedGroupingPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) GetFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string
GetFilteredNamedGroupingPolicy gets all the role inheritance rules in the policy, field filters can be specified.
func (*SyncedEnforcer) GetFilteredNamedPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) GetFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string
GetFilteredNamedPolicy gets all the authorization rules in the named policy, field filters can be specified.
func (*SyncedEnforcer) GetFilteredPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) GetFilteredPolicy(fieldIndex int, fieldValues ...string) [][]string
GetFilteredPolicy gets all the authorization rules in the policy, field filters can be specified.
func (*SyncedEnforcer) GetGroupingPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) GetGroupingPolicy() [][]string
GetGroupingPolicy gets all the role inheritance rules in the policy.
func (*SyncedEnforcer) GetImplicitPermissionsForUser ¶ added in v1.10.0
func (e *SyncedEnforcer) GetImplicitPermissionsForUser(user string, domain ...string) ([][]string, error)
GetImplicitPermissionsForUser gets implicit permissions for a user or role. Compared to GetPermissionsForUser(), this function retrieves permissions for inherited roles. For example: p, admin, data1, read p, alice, data2, read g, alice, admin
GetPermissionsForUser("alice") can only get: [["alice", "data2", "read"]]. But GetImplicitPermissionsForUser("alice") will get: [["admin", "data1", "read"], ["alice", "data2", "read"]].
func (*SyncedEnforcer) GetImplicitRolesForUser ¶ added in v1.10.0
func (e *SyncedEnforcer) GetImplicitRolesForUser(name string, domain ...string) ([]string, error)
GetImplicitRolesForUser gets implicit roles that a user has. Compared to GetRolesForUser(), this function retrieves indirect roles besides direct roles. For example: g, alice, role:admin g, role:admin, role:user
GetRolesForUser("alice") can only get: ["role:admin"]. But GetImplicitRolesForUser("alice") will get: ["role:admin", "role:user"].
func (*SyncedEnforcer) GetImplicitUsersForPermission ¶ added in v1.10.0
func (e *SyncedEnforcer) GetImplicitUsersForPermission(permission ...string) ([]string, error)
GetImplicitUsersForPermission gets implicit users for a permission. For example: p, admin, data1, read p, bob, data1, read g, alice, admin
GetImplicitUsersForPermission("data1", "read") will get: ["alice", "bob"]. Note: only users will be returned, roles (2nd arg in "g") will be excluded.
func (*SyncedEnforcer) GetLock ¶ added in v1.10.0
func (e *SyncedEnforcer) GetLock() *sync.RWMutex
GetLock return the private RWMutex lock
func (*SyncedEnforcer) GetNamedGroupingPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) GetNamedGroupingPolicy(ptype string) [][]string
GetNamedGroupingPolicy gets all the role inheritance rules in the policy.
func (*SyncedEnforcer) GetNamedImplicitPermissionsForUser ¶ added in v1.10.0
func (e *SyncedEnforcer) GetNamedImplicitPermissionsForUser(ptype string, user string, domain ...string) ([][]string, error)
GetNamedImplicitPermissionsForUser gets implicit permissions for a user or role by named policy. Compared to GetNamedPermissionsForUser(), this function retrieves permissions for inherited roles. For example: p, admin, data1, read p2, admin, create g, alice, admin
GetImplicitPermissionsForUser("alice") can only get: [["admin", "data1", "read"]], whose policy is default policy "p" But you can specify the named policy "p2" to get: [["admin", "create"]] by GetNamedImplicitPermissionsForUser("p2","alice")
func (*SyncedEnforcer) GetNamedPermissionsForUser ¶ added in v1.10.0
func (e *SyncedEnforcer) GetNamedPermissionsForUser(ptype string, user string, domain ...string) [][]string
GetNamedPermissionsForUser gets permissions for a user or role by named policy.
func (*SyncedEnforcer) GetNamedPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) GetNamedPolicy(ptype string) [][]string
GetNamedPolicy gets all the authorization rules in the named policy.
func (*SyncedEnforcer) GetPermissionsForUser ¶ added in v1.4.0
func (e *SyncedEnforcer) GetPermissionsForUser(user string, domain ...string) [][]string
GetPermissionsForUser gets permissions for a user or role.
func (*SyncedEnforcer) GetPermissionsForUserInDomain ¶ added in v1.10.0
func (e *SyncedEnforcer) GetPermissionsForUserInDomain(user string, domain string) [][]string
GetPermissionsForUserInDomain gets permissions for a user or role inside a domain.
func (*SyncedEnforcer) GetPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) GetPolicy() [][]string
GetPolicy gets all the authorization rules in the policy.
func (*SyncedEnforcer) GetRolesForUser ¶ added in v1.4.0
func (e *SyncedEnforcer) GetRolesForUser(name string, domain ...string) ([]string, error)
GetRolesForUser gets the roles that a user has.
func (*SyncedEnforcer) GetRolesForUserInDomain ¶ added in v1.10.0
func (e *SyncedEnforcer) GetRolesForUserInDomain(name string, domain string) []string
GetRolesForUserInDomain gets the roles that a user has inside a domain.
func (*SyncedEnforcer) GetUsersForRole ¶ added in v1.4.0
func (e *SyncedEnforcer) GetUsersForRole(name string, domain ...string) ([]string, error)
GetUsersForRole gets the users that has a role.
func (*SyncedEnforcer) GetUsersForRoleInDomain ¶ added in v1.10.0
func (e *SyncedEnforcer) GetUsersForRoleInDomain(name string, domain string) []string
GetUsersForRoleInDomain gets the users that has a role inside a domain. Add by Gordon
func (*SyncedEnforcer) HasGroupingPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) HasGroupingPolicy(params ...interface{}) bool
HasGroupingPolicy determines whether a role inheritance rule exists.
func (*SyncedEnforcer) HasNamedGroupingPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) HasNamedGroupingPolicy(ptype string, params ...interface{}) bool
HasNamedGroupingPolicy determines whether a named role inheritance rule exists.
func (*SyncedEnforcer) HasNamedPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) HasNamedPolicy(ptype string, params ...interface{}) bool
HasNamedPolicy determines whether a named authorization rule exists.
func (*SyncedEnforcer) HasPermissionForUser ¶ added in v1.4.0
func (e *SyncedEnforcer) HasPermissionForUser(user string, permission ...string) bool
HasPermissionForUser determines whether a user has a permission.
func (*SyncedEnforcer) HasPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) HasPolicy(params ...interface{}) bool
HasPolicy determines whether an authorization rule exists.
func (*SyncedEnforcer) HasRoleForUser ¶ added in v1.4.0
HasRoleForUser determines whether a user has a role.
func (*SyncedEnforcer) IsAutoLoadingRunning ¶ added in v1.10.0
func (e *SyncedEnforcer) IsAutoLoadingRunning() bool
IsAutoLoadingRunning check if SyncedEnforcer is auto loading policies
func (*SyncedEnforcer) LoadFilteredPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) LoadFilteredPolicy(filter interface{}) error
LoadFilteredPolicy reloads a filtered policy from file/database.
func (*SyncedEnforcer) LoadIncrementalFilteredPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) LoadIncrementalFilteredPolicy(filter interface{}) error
LoadIncrementalFilteredPolicy reloads a filtered policy from file/database.
func (*SyncedEnforcer) LoadModel ¶ added in v1.10.0
func (e *SyncedEnforcer) LoadModel() error
LoadModel reloads the model from the model CONF file.
func (*SyncedEnforcer) LoadPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) LoadPolicy() error
LoadPolicy reloads the policy from file/database.
func (*SyncedEnforcer) LoadPolicyFast ¶ added in v1.10.0
func (e *SyncedEnforcer) LoadPolicyFast() error
LoadPolicyFast is not blocked when adapter calls LoadPolicy.
func (*SyncedEnforcer) RemoveFilteredGroupingPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) RemoveFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredGroupingPolicy removes a role inheritance rule from the current policy, field filters can be specified.
func (*SyncedEnforcer) RemoveFilteredNamedGroupingPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) RemoveFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredNamedGroupingPolicy removes a role inheritance rule from the current named policy, field filters can be specified.
func (*SyncedEnforcer) RemoveFilteredNamedPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) RemoveFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredNamedPolicy removes an authorization rule from the current named policy, field filters can be specified.
func (*SyncedEnforcer) RemoveFilteredPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) RemoveFilteredPolicy(fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredPolicy removes an authorization rule from the current policy, field filters can be specified.
func (*SyncedEnforcer) RemoveGroupingPolicies ¶ added in v1.10.0
func (e *SyncedEnforcer) RemoveGroupingPolicies(rules [][]string) (bool, error)
RemoveGroupingPolicies removes role inheritance rules from the current policy.
func (*SyncedEnforcer) RemoveGroupingPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) RemoveGroupingPolicy(params ...interface{}) (bool, error)
RemoveGroupingPolicy removes a role inheritance rule from the current policy.
func (*SyncedEnforcer) RemoveNamedGroupingPolicies ¶ added in v1.10.0
func (e *SyncedEnforcer) RemoveNamedGroupingPolicies(ptype string, rules [][]string) (bool, error)
RemoveNamedGroupingPolicies removes role inheritance rules from the current named policy.
func (*SyncedEnforcer) RemoveNamedGroupingPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) RemoveNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
RemoveNamedGroupingPolicy removes a role inheritance rule from the current named policy.
func (*SyncedEnforcer) RemoveNamedPolicies ¶ added in v1.10.0
func (e *SyncedEnforcer) RemoveNamedPolicies(ptype string, rules [][]string) (bool, error)
RemoveNamedPolicies removes authorization rules from the current named policy.
func (*SyncedEnforcer) RemoveNamedPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) RemoveNamedPolicy(ptype string, params ...interface{}) (bool, error)
RemoveNamedPolicy removes an authorization rule from the current named policy.
func (*SyncedEnforcer) RemovePolicies ¶ added in v1.10.0
func (e *SyncedEnforcer) RemovePolicies(rules [][]string) (bool, error)
RemovePolicies removes authorization rules from the current policy.
func (*SyncedEnforcer) RemovePolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) RemovePolicy(params ...interface{}) (bool, error)
RemovePolicy removes an authorization rule from the current policy.
func (*SyncedEnforcer) SavePolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) SavePolicy() error
SavePolicy saves the current policy (usually after changed with Casbin API) back to file/database.
func (*SyncedEnforcer) SelfAddPolicies ¶ added in v1.10.0
func (*SyncedEnforcer) SelfAddPoliciesEx ¶ added in v1.10.0
func (*SyncedEnforcer) SelfAddPolicy ¶ added in v1.10.0
func (*SyncedEnforcer) SelfRemoveFilteredPolicy ¶ added in v1.10.0
func (*SyncedEnforcer) SelfRemovePolicies ¶ added in v1.10.0
func (*SyncedEnforcer) SelfRemovePolicy ¶ added in v1.10.0
func (*SyncedEnforcer) SelfUpdatePolicies ¶ added in v1.10.0
func (*SyncedEnforcer) SelfUpdatePolicy ¶ added in v1.10.0
func (*SyncedEnforcer) SetWatcher ¶ added in v1.4.0
func (e *SyncedEnforcer) SetWatcher(watcher persist.Watcher) error
SetWatcher sets the current watcher.
func (*SyncedEnforcer) StartAutoLoadPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) StartAutoLoadPolicy(d time.Duration)
StartAutoLoadPolicy starts a go routine that will every specified duration call LoadPolicy
func (*SyncedEnforcer) StopAutoLoadPolicy ¶ added in v1.1.0
func (e *SyncedEnforcer) StopAutoLoadPolicy()
StopAutoLoadPolicy causes the go routine to exit.
func (*SyncedEnforcer) UpdateFilteredNamedPolicies ¶ added in v1.10.0
func (*SyncedEnforcer) UpdateFilteredPolicies ¶ added in v1.10.0
func (*SyncedEnforcer) UpdateGroupingPolicies ¶ added in v1.10.0
func (e *SyncedEnforcer) UpdateGroupingPolicies(oldRules [][]string, newRules [][]string) (bool, error)
func (*SyncedEnforcer) UpdateGroupingPolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) UpdateGroupingPolicy(oldRule []string, newRule []string) (bool, error)
func (*SyncedEnforcer) UpdateNamedGroupingPolicies ¶ added in v1.10.0
func (*SyncedEnforcer) UpdateNamedGroupingPolicy ¶ added in v1.10.0
func (*SyncedEnforcer) UpdateNamedPolicies ¶ added in v1.10.0
func (*SyncedEnforcer) UpdateNamedPolicy ¶ added in v1.10.0
func (*SyncedEnforcer) UpdatePolicies ¶ added in v1.10.0
func (e *SyncedEnforcer) UpdatePolicies(oldPolices [][]string, newPolicies [][]string) (bool, error)
UpdatePolicies updates authorization rules from the current policies.
func (*SyncedEnforcer) UpdatePolicy ¶ added in v1.10.0
func (e *SyncedEnforcer) UpdatePolicy(oldPolicy []string, newPolicy []string) (bool, error)
UpdatePolicy updates an authorization rule from the current policy.











