Documentation
¶
Index ¶
- func CasbinJsGetPermissionForUser(e IEnforcer, user string) (string, error)
- func CasbinJsGetPermissionForUserOld(e IEnforcer, user string) ([]byte, error)
- func GetCacheKey(params ...interface{}) (string, bool)
- 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) AddGroupingPoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *Enforcer) AddGroupingPoliciesEx(rules [][]string) (bool, error)
- func (e *Enforcer) AddGroupingPoliciesExCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *Enforcer) AddGroupingPolicy(params ...interface{}) (bool, error)
- func (e *Enforcer) AddGroupingPolicyCtx(ctx context.Context, 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) AddNamedGroupingPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) AddNamedGroupingPoliciesEx(ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) AddNamedGroupingPoliciesExCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) AddNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) AddNamedGroupingPolicyCtx(ctx context.Context, 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) AddNamedPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) AddNamedPoliciesEx(ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) AddNamedPoliciesExCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) AddNamedPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) AddNamedPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) AddPermissionForUser(user string, permission ...string) (bool, error)
- func (e *Enforcer) AddPermissionForUserCtx(ctx context.Context, user string, permission ...string) (bool, error)
- func (e *Enforcer) AddPermissionsForUser(user string, permissions ...[]string) (bool, error)
- func (e *Enforcer) AddPermissionsForUserCtx(ctx context.Context, user string, permissions ...[]string) (bool, error)
- func (e *Enforcer) AddPolicies(rules [][]string) (bool, error)
- func (e *Enforcer) AddPoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *Enforcer) AddPoliciesEx(rules [][]string) (bool, error)
- func (e *Enforcer) AddPoliciesExCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *Enforcer) AddPolicy(params ...interface{}) (bool, error)
- func (e *Enforcer) AddPolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
- func (e *Enforcer) AddRoleForUser(user string, role string, domain ...string) (bool, error)
- func (e *Enforcer) AddRoleForUserCtx(ctx context.Context, user string, role string, domain ...string) (bool, error)
- func (e *Enforcer) AddRoleForUserInDomain(user string, role string, domain string) (bool, error)
- func (e *Enforcer) AddRoleForUserInDomainCtx(ctx context.Context, user string, role string, domain string) (bool, error)
- func (e *Enforcer) AddRolesForUser(user string, roles []string, domain ...string) (bool, error)
- func (e *Enforcer) AddRolesForUserCtx(ctx context.Context, 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) DeleteAllUsersByDomainCtx(ctx context.Context, domain string) (bool, error)
- func (e *Enforcer) DeleteDomains(domains ...string) (bool, error)
- func (e *Enforcer) DeleteDomainsCtx(ctx context.Context, domains ...string) (bool, error)
- func (e *Enforcer) DeletePermission(permission ...string) (bool, error)
- func (e *Enforcer) DeletePermissionCtx(ctx context.Context, permission ...string) (bool, error)
- func (e *Enforcer) DeletePermissionForUser(user string, permission ...string) (bool, error)
- func (e *Enforcer) DeletePermissionForUserCtx(ctx context.Context, user string, permission ...string) (bool, error)
- func (e *Enforcer) DeletePermissionsForUser(user string) (bool, error)
- func (e *Enforcer) DeletePermissionsForUserCtx(ctx context.Context, user string) (bool, error)
- func (e *Enforcer) DeleteRole(role string) (bool, error)
- func (e *Enforcer) DeleteRoleCtx(ctx context.Context, role string) (bool, error)
- func (e *Enforcer) DeleteRoleForUser(user string, role string, domain ...string) (bool, error)
- func (e *Enforcer) DeleteRoleForUserCtx(ctx context.Context, user string, role string, domain ...string) (bool, error)
- func (e *Enforcer) DeleteRoleForUserInDomain(user string, role string, domain string) (bool, error)
- func (e *Enforcer) DeleteRoleForUserInDomainCtx(ctx context.Context, user string, role string, domain string) (bool, error)
- func (e *Enforcer) DeleteRolesForUser(user string, domain ...string) (bool, error)
- func (e *Enforcer) DeleteRolesForUserCtx(ctx context.Context, user string, domain ...string) (bool, error)
- func (e *Enforcer) DeleteRolesForUserInDomain(user string, domain string) (bool, error)
- func (e *Enforcer) DeleteRolesForUserInDomainCtx(ctx context.Context, user string, domain string) (bool, error)
- func (e *Enforcer) DeleteUser(user string) (bool, error)
- func (e *Enforcer) DeleteUserCtx(ctx context.Context, 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) RemoveFilteredGroupingPolicyCtx(ctx context.Context, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveFilteredNamedGroupingPolicyCtx(ctx context.Context, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveFilteredNamedPolicyCtx(ctx context.Context, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveFilteredPolicy(fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveFilteredPolicyCtx(ctx context.Context, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) RemoveGroupingPolicies(rules [][]string) (bool, error)
- func (e *Enforcer) RemoveGroupingPoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *Enforcer) RemoveGroupingPolicy(params ...interface{}) (bool, error)
- func (e *Enforcer) RemoveGroupingPolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
- func (e *Enforcer) RemoveNamedGroupingPolicies(ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) RemoveNamedGroupingPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) RemoveNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) RemoveNamedGroupingPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) RemoveNamedPolicies(ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) RemoveNamedPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) RemoveNamedPolicy(ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) RemoveNamedPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
- func (e *Enforcer) RemovePolicies(rules [][]string) (bool, error)
- func (e *Enforcer) RemovePoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *Enforcer) RemovePolicy(params ...interface{}) (bool, error)
- func (e *Enforcer) RemovePolicyCtx(ctx context.Context, 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) SelfAddPoliciesExModel(sec string, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) SelfAddPoliciesModel(sec string, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) SelfAddPolicy(sec string, ptype string, rule []string) (bool, error)
- func (e *Enforcer) SelfAddPolicyModel(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) SelfRemoveFilteredPolicyModel(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) SelfRemovePoliciesModel(sec string, ptype string, rules [][]string) (bool, error)
- func (e *Enforcer) SelfRemovePolicy(sec string, ptype string, rule []string) (bool, error)
- func (e *Enforcer) SelfRemovePolicyModel(sec string, ptype string, rule []string) (bool, error)
- func (e *Enforcer) SelfUpdatePolicies(sec string, ptype string, oldRules, newRules [][]string) (bool, error)
- func (e *Enforcer) SelfUpdatePoliciesModel(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) SelfUpdatePolicyModel(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) UpdateFilteredNamedPoliciesCtx(ctx context.Context, ptype string, newPolicies [][]string, fieldIndex int, ...) (bool, error)
- func (e *Enforcer) UpdateFilteredPolicies(newPolicies [][]string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *Enforcer) UpdateFilteredPoliciesCtx(ctx context.Context, newPolicies [][]string, fieldIndex int, ...) (bool, error)
- func (e *Enforcer) UpdateGroupingPolicies(oldRules [][]string, newRules [][]string) (bool, error)
- func (e *Enforcer) UpdateGroupingPoliciesCtx(ctx context.Context, oldRules [][]string, newRules [][]string) (bool, error)
- func (e *Enforcer) UpdateGroupingPolicy(oldRule []string, newRule []string) (bool, error)
- func (e *Enforcer) UpdateGroupingPolicyCtx(ctx context.Context, oldRule []string, newRule []string) (bool, error)
- func (e *Enforcer) UpdateNamedGroupingPolicies(ptype string, oldRules [][]string, newRules [][]string) (bool, error)
- func (e *Enforcer) UpdateNamedGroupingPoliciesCtx(ctx context.Context, ptype string, oldRules [][]string, newRules [][]string) (bool, error)
- func (e *Enforcer) UpdateNamedGroupingPolicy(ptype string, oldRule []string, newRule []string) (bool, error)
- func (e *Enforcer) UpdateNamedGroupingPolicyCtx(ctx context.Context, ptype string, oldRule []string, newRule []string) (bool, error)
- func (e *Enforcer) UpdateNamedPolicies(ptype string, p1 [][]string, p2 [][]string) (bool, error)
- func (e *Enforcer) UpdateNamedPoliciesCtx(ctx context.Context, ptype string, p1 [][]string, p2 [][]string) (bool, error)
- func (e *Enforcer) UpdateNamedPolicy(ptype string, p1 []string, p2 []string) (bool, error)
- func (e *Enforcer) UpdateNamedPolicyCtx(ctx context.Context, ptype string, p1 []string, p2 []string) (bool, error)
- func (e *Enforcer) UpdatePolicies(oldPolices [][]string, newPolicies [][]string) (bool, error)
- func (e *Enforcer) UpdatePoliciesCtx(ctx context.Context, oldPolices [][]string, newPolicies [][]string) (bool, error)
- func (e *Enforcer) UpdatePolicy(oldPolicy []string, newPolicy []string) (bool, error)
- func (e *Enforcer) UpdatePolicyCtx(ctx context.Context, oldPolicy []string, newPolicy []string) (bool, error)
- type IDistributedEnforcer
- type IEnforcer
- type ISyncedContextEnforcer
- 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 SyncedContextEnforcer
- func (e *SyncedContextEnforcer) AddGroupingPoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) AddGroupingPoliciesExCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) AddGroupingPolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
- func (e *SyncedContextEnforcer) AddNamedGroupingPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) AddNamedGroupingPoliciesExCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) AddNamedGroupingPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
- func (e *SyncedContextEnforcer) AddNamedPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) AddNamedPoliciesExCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) AddNamedPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
- func (e *SyncedContextEnforcer) AddPermissionForUserCtx(ctx context.Context, user string, permission ...string) (bool, error)
- func (e *SyncedContextEnforcer) AddPermissionsForUserCtx(ctx context.Context, user string, permissions ...[]string) (bool, error)
- func (e *SyncedContextEnforcer) AddPoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) AddPoliciesExCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) AddPolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
- func (e *SyncedContextEnforcer) AddRoleForUserCtx(ctx context.Context, user string, role string, domain ...string) (bool, error)
- func (e *SyncedContextEnforcer) AddRoleForUserInDomainCtx(ctx context.Context, user string, role string, domain string) (bool, error)
- func (e *SyncedContextEnforcer) AddRolesForUserCtx(ctx context.Context, user string, roles []string, domain ...string) (bool, error)
- func (e *SyncedContextEnforcer) DeleteAllUsersByDomainCtx(ctx context.Context, domain string) (bool, error)
- func (e *SyncedContextEnforcer) DeleteDomainsCtx(ctx context.Context, domains ...string) (bool, error)
- func (e *SyncedContextEnforcer) DeletePermissionCtx(ctx context.Context, permission ...string) (bool, error)
- func (e *SyncedContextEnforcer) DeletePermissionForUserCtx(ctx context.Context, user string, permission ...string) (bool, error)
- func (e *SyncedContextEnforcer) DeletePermissionsForUserCtx(ctx context.Context, user string) (bool, error)
- func (e *SyncedContextEnforcer) DeleteRoleCtx(ctx context.Context, role string) (bool, error)
- func (e *SyncedContextEnforcer) DeleteRoleForUserCtx(ctx context.Context, user string, role string, domain ...string) (bool, error)
- func (e *SyncedContextEnforcer) DeleteRoleForUserInDomainCtx(ctx context.Context, user string, role string, domain string) (bool, error)
- func (e *SyncedContextEnforcer) DeleteRolesForUserCtx(ctx context.Context, user string, domain ...string) (bool, error)
- func (e *SyncedContextEnforcer) DeleteRolesForUserInDomainCtx(ctx context.Context, user string, domain string) (bool, error)
- func (e *SyncedContextEnforcer) DeleteUserCtx(ctx context.Context, user string) (bool, error)
- func (e *SyncedContextEnforcer) LoadFilteredPolicyCtx(ctx context.Context, filter interface{}) error
- func (e *SyncedContextEnforcer) LoadIncrementalFilteredPolicyCtx(ctx context.Context, filter interface{}) error
- func (e *SyncedContextEnforcer) LoadPolicyCtx(ctx context.Context) error
- func (e *SyncedContextEnforcer) LoadPolicyFastCtx(ctx context.Context) error
- func (e *SyncedContextEnforcer) LoadPolicySyncWatcher() error
- func (e *SyncedContextEnforcer) RemoveFilteredGroupingPolicyCtx(ctx context.Context, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedContextEnforcer) RemoveFilteredNamedGroupingPolicyCtx(ctx context.Context, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedContextEnforcer) RemoveFilteredNamedPolicyCtx(ctx context.Context, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedContextEnforcer) RemoveFilteredPolicyCtx(ctx context.Context, fieldIndex int, fieldValues ...string) (bool, error)
- func (e *SyncedContextEnforcer) RemoveGroupingPoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) RemoveGroupingPolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
- func (e *SyncedContextEnforcer) RemoveNamedGroupingPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) RemoveNamedGroupingPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
- func (e *SyncedContextEnforcer) RemoveNamedPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) RemoveNamedPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
- func (e *SyncedContextEnforcer) RemovePoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) RemovePolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
- func (e *SyncedContextEnforcer) SavePolicyCtx(ctx context.Context) error
- func (e *SyncedContextEnforcer) UpdateFilteredNamedPoliciesCtx(ctx context.Context, ptype string, newPolicies [][]string, fieldIndex int, ...) (bool, error)
- func (e *SyncedContextEnforcer) UpdateFilteredPoliciesCtx(ctx context.Context, newPolicies [][]string, fieldIndex int, ...) (bool, error)
- func (e *SyncedContextEnforcer) UpdateGroupingPoliciesCtx(ctx context.Context, oldRules [][]string, newRules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) UpdateGroupingPolicyCtx(ctx context.Context, oldRule []string, newRule []string) (bool, error)
- func (e *SyncedContextEnforcer) UpdateNamedGroupingPoliciesCtx(ctx context.Context, ptype string, oldRules [][]string, newRules [][]string) (bool, error)
- func (e *SyncedContextEnforcer) UpdateNamedGroupingPolicyCtx(ctx context.Context, ptype string, oldRule []string, newRule []string) (bool, error)
- func (e *SyncedContextEnforcer) UpdateNamedPoliciesCtx(ctx context.Context, ptype string, p1 [][]string, p2 [][]string) (bool, error)
- func (e *SyncedContextEnforcer) UpdateNamedPolicyCtx(ctx context.Context, ptype string, p1 []string, p2 []string) (bool, error)
- func (e *SyncedContextEnforcer) UpdatePoliciesCtx(ctx context.Context, oldPolices [][]string, newPolicies [][]string) (bool, error)
- func (e *SyncedContextEnforcer) UpdatePolicyCtx(ctx context.Context, oldPolicy []string, newPolicy []string) (bool, error)
- 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) SelfAddPoliciesExModel(sec string, ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) SelfAddPoliciesModel(sec string, ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) SelfAddPolicy(sec string, ptype string, rule []string) (bool, error)
- func (e *SyncedEnforcer) SelfAddPolicyModel(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) SelfRemoveFilteredPolicyModel(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) SelfRemovePoliciesModel(sec string, ptype string, rules [][]string) (bool, error)
- func (e *SyncedEnforcer) SelfRemovePolicy(sec string, ptype string, rule []string) (bool, error)
- func (e *SyncedEnforcer) SelfRemovePolicyModel(sec string, ptype string, rule []string) (bool, error)
- func (e *SyncedEnforcer) SelfUpdatePolicies(sec string, ptype string, oldRules, newRules [][]string) (bool, error)
- func (e *SyncedEnforcer) SelfUpdatePoliciesModel(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) SelfUpdatePolicyModel(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 GetCacheKey ¶
Types ¶
type CacheableParam ¶
type CacheableParam interface {
GetCacheKey() string
}
type CachedEnforcer ¶
type CachedEnforcer struct { *Enforcer // contains filtered or unexported fields }
CachedEnforcer wraps Enforcer and provides decision cache
func NewCachedEnforcer ¶
func NewCachedEnforcer(params ...interface{}) (*CachedEnforcer, error)
NewCachedEnforcer creates a cached enforcer via file or DB.
func (*CachedEnforcer) EnableCache ¶
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 ¶
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 ¶
func (e *CachedEnforcer) InvalidateCache() error
InvalidateCache deletes all the existing cached decisions.
func (*CachedEnforcer) LoadPolicy ¶
func (e *CachedEnforcer) LoadPolicy() error
func (*CachedEnforcer) RemovePolicies ¶
func (e *CachedEnforcer) RemovePolicies(rules [][]string) (bool, error)
func (*CachedEnforcer) RemovePolicy ¶
func (e *CachedEnforcer) RemovePolicy(params ...interface{}) (bool, error)
func (*CachedEnforcer) SetCache ¶
func (e *CachedEnforcer) SetCache(c cache.Cache)
func (*CachedEnforcer) SetExpireTime ¶
func (e *CachedEnforcer) SetExpireTime(expireTime time.Duration)
type DistributedEnforcer ¶
type DistributedEnforcer struct {
*SyncedEnforcer
}
DistributedEnforcer wraps SyncedEnforcer for dispatcher.
func NewDistributedEnforcer ¶
func NewDistributedEnforcer(params ...interface{}) (*DistributedEnforcer, error)
func (*DistributedEnforcer) AddPoliciesSelf ¶
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 ¶
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 ¶
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 ¶
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 ¶
func (e *DistributedEnforcer) SetDispatcher(dispatcher persist.Dispatcher)
SetDispatcher sets the current dispatcher.
func (*DistributedEnforcer) UpdateFilteredPoliciesSelf ¶
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 ¶
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 ¶
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 ¶
EnforceContext is used as the first element of the parameter "rvals" in method "enforce"
func NewEnforceContext ¶
func NewEnforceContext(suffix string) EnforceContext
NewEnforceContext Create a default structure based on the suffix
func (EnforceContext) GetCacheKey ¶
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 ¶
NewEnforcer creates an enforcer via file or DB.
File:
e := casbin.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 := casbin.NewEnforcer("path/to/basic_model.conf", a)
func (*Enforcer) AddFunction ¶
func (e *Enforcer) AddFunction(name string, function govaluate.ExpressionFunction)
AddFunction adds a customized function.
func (*Enforcer) AddGroupingPolicies ¶
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) AddGroupingPoliciesCtx ¶
AddGroupingPoliciesCtx 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 ¶
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) AddGroupingPoliciesExCtx ¶
AddGroupingPoliciesExCtx adds role inheritance rules to the current policy. If the rule already exists, the rule will not be added. But unlike AddGroupingPoliciesCtx, other non-existent rules are added instead of returning false directly
func (*Enforcer) AddGroupingPolicy ¶
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) AddGroupingPolicyCtx ¶
AddGroupingPolicyCtx 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 ¶
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 ¶
func (e *Enforcer) AddNamedDomainMatchingFunc(ptype, name string, fn rbac.MatchingFunc) bool
AddNamedDomainMatchingFunc add MatchingFunc by ptype to RoleManager
func (*Enforcer) AddNamedGroupingPolicies ¶
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) AddNamedGroupingPoliciesCtx ¶
func (e *Enforcer) AddNamedGroupingPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
AddNamedGroupingPoliciesCtx 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 ¶
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) AddNamedGroupingPoliciesExCtx ¶
func (e *Enforcer) AddNamedGroupingPoliciesExCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
AddNamedGroupingPoliciesExCtx adds named role inheritance rules to the current policy. If the rule already exists, the rule will not be added. But unlike AddNamedGroupingPoliciesCtx, other non-existent rules are added instead of returning false directly
func (*Enforcer) AddNamedGroupingPolicy ¶
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) AddNamedGroupingPolicyCtx ¶
func (e *Enforcer) AddNamedGroupingPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
AddNamedGroupingPolicyCtx 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 ¶
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 ¶
func (e *Enforcer) AddNamedMatchingFunc(ptype, name string, fn rbac.MatchingFunc) bool
AddNamedMatchingFunc add MatchingFunc by ptype RoleManager
func (*Enforcer) AddNamedPolicies ¶
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) AddNamedPoliciesCtx ¶
func (e *Enforcer) AddNamedPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
AddNamedPoliciesCtx 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 ¶
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) AddNamedPoliciesExCtx ¶
func (e *Enforcer) AddNamedPoliciesExCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
AddNamedPoliciesExCtx 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 ¶
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) AddNamedPolicyCtx ¶
func (e *Enforcer) AddNamedPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
AddNamedPolicyCtx 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 ¶
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) AddPermissionForUserCtx ¶
func (e *Enforcer) AddPermissionForUserCtx(ctx context.Context, user string, permission ...string) (bool, error)
AddPermissionForUserCtx 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 ¶
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) AddPermissionsForUserCtx ¶
func (e *Enforcer) AddPermissionsForUserCtx(ctx context.Context, user string, permissions ...[]string) (bool, error)
AddPermissionsForUserCtx 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 ¶
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) AddPoliciesCtx ¶
AddPoliciesCtx 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 ¶
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) AddPoliciesExCtx ¶
AddPoliciesExCtx 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 ¶
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) AddPolicyCtx ¶
AddPolicyCtx 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 ¶
AddRoleForUser adds a role for a user. Returns false if the user already has the role (aka not affected).
func (*Enforcer) AddRoleForUserCtx ¶
func (e *Enforcer) AddRoleForUserCtx(ctx context.Context, user string, role string, domain ...string) (bool, error)
AddRoleForUserCtx adds a role for a user. Returns false if the user already has the role (aka not affected).
func (*Enforcer) AddRoleForUserInDomain ¶
AddRoleForUserInDomain adds a role for a user inside a domain. Returns false if the user already has the role (aka not affected).
func (*Enforcer) AddRoleForUserInDomainCtx ¶
func (e *Enforcer) AddRoleForUserInDomainCtx(ctx context.Context, user string, role string, domain string) (bool, error)
AddRoleForUserInDomainCtx adds a role for a user inside a domain. Returns false if the user already has the role (aka not affected).
func (*Enforcer) AddRolesForUser ¶
AddRolesForUser adds roles for a user. Returns false if the user already has the roles (aka not affected).
func (*Enforcer) AddRolesForUserCtx ¶
func (e *Enforcer) AddRolesForUserCtx(ctx context.Context, user string, roles []string, domain ...string) (bool, error)
AddRolesForUserCtx adds roles for a user. Returns false if the user already has the roles (aka not affected).
func (*Enforcer) BatchEnforce ¶
BatchEnforce enforce in batches
func (*Enforcer) BatchEnforceWithMatcher ¶
func (e *Enforcer) BatchEnforceWithMatcher(matcher string, requests [][]interface{}) ([]bool, error)
BatchEnforceWithMatcher enforce with matcher in batches
func (*Enforcer) BuildIncrementalConditionalRoleLinks ¶
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 ¶
func (e *Enforcer) BuildIncrementalRoleLinks(op model.PolicyOp, ptype string, rules [][]string) error
BuildIncrementalRoleLinks provides incremental build the role inheritance relations.
func (*Enforcer) BuildRoleLinks ¶
BuildRoleLinks manually rebuild the role inheritance relations.
func (*Enforcer) DeleteAllUsersByDomain ¶
DeleteAllUsersByDomain would delete all users associated with the domain.
func (*Enforcer) DeleteAllUsersByDomainCtx ¶
DeleteAllUsersByDomainCtx would delete all users associated with the domain.
func (*Enforcer) DeleteDomains ¶
DeleteDomains would delete all associated users and roles. It would delete all domains if parameter is not provided.
func (*Enforcer) DeleteDomainsCtx ¶
DeleteDomainsCtx would delete all associated users and roles. It would delete all domains if parameter is not provided.
func (*Enforcer) DeletePermission ¶
DeletePermission deletes a permission. Returns false if the permission does not exist (aka not affected).
func (*Enforcer) DeletePermissionCtx ¶
DeletePermissionCtx deletes a permission. Returns false if the permission does not exist (aka not affected).
func (*Enforcer) DeletePermissionForUser ¶
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) DeletePermissionForUserCtx ¶
func (e *Enforcer) DeletePermissionForUserCtx(ctx context.Context, user string, permission ...string) (bool, error)
DeletePermissionForUserCtx 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 ¶
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) DeletePermissionsForUserCtx ¶
DeletePermissionsForUserCtx 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 ¶
DeleteRole deletes a role. Returns false if the role does not exist (aka not affected).
func (*Enforcer) DeleteRoleCtx ¶
DeleteRoleCtx deletes a role. Returns false if the role does not exist (aka not affected).
func (*Enforcer) DeleteRoleForUser ¶
DeleteRoleForUser deletes a role for a user. Returns false if the user does not have the role (aka not affected).
func (*Enforcer) DeleteRoleForUserCtx ¶
func (e *Enforcer) DeleteRoleForUserCtx(ctx context.Context, user string, role string, domain ...string) (bool, error)
DeleteRoleForUserCtx deletes a role for a user. Returns false if the user does not have the role (aka not affected).
func (*Enforcer) DeleteRoleForUserInDomain ¶
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) DeleteRoleForUserInDomainCtx ¶
func (e *Enforcer) DeleteRoleForUserInDomainCtx(ctx context.Context, user string, role string, domain string) (bool, error)
DeleteRoleForUserInDomainCtx 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 ¶
DeleteRolesForUser deletes all roles for a user. Returns false if the user does not have any roles (aka not affected).
func (*Enforcer) DeleteRolesForUserCtx ¶
func (e *Enforcer) DeleteRolesForUserCtx(ctx context.Context, user string, domain ...string) (bool, error)
DeleteRolesForUserCtx deletes all roles for a user. Returns false if the user does not have any roles (aka not affected).
func (*Enforcer) DeleteRolesForUserInDomain ¶
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) DeleteRolesForUserInDomainCtx ¶
func (e *Enforcer) DeleteRolesForUserInDomainCtx(ctx context.Context, user string, domain string) (bool, error)
DeleteRolesForUserInDomainCtx 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 ¶
DeleteUser deletes a user. Returns false if the user does not exist (aka not affected).
func (*Enforcer) DeleteUserCtx ¶
DeleteUserCtx deletes a user. Returns false if the user does not exist (aka not affected).
func (*Enforcer) EnableAcceptJsonRequest ¶
EnableAcceptJsonRequest controls whether to accept json as a request parameter
func (*Enforcer) EnableAutoBuildRoleLinks ¶
EnableAutoBuildRoleLinks controls whether to rebuild the role inheritance relations when a role is added or deleted.
func (*Enforcer) EnableAutoNotifyDispatcher ¶
EnableAutoNotifyDispatcher controls whether to save a policy rule automatically notify the Dispatcher when it is added or removed.
func (*Enforcer) EnableAutoNotifyWatcher ¶
EnableAutoNotifyWatcher controls whether to save a policy rule automatically notify the Watcher when it is added or removed.
func (*Enforcer) EnableAutoSave ¶
EnableAutoSave controls whether to save a policy rule automatically to the adapter when it is added or removed.
func (*Enforcer) EnableEnforce ¶
EnableEnforce changes the enforcing state of Casbin, when Casbin is disabled, all access will be allowed by the Enforce() function.
func (*Enforcer) Enforce ¶
Enforce decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act).
func (*Enforcer) EnforceExWithMatcher ¶
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 ¶
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 ¶
GetAdapter gets the current adapter.
func (*Enforcer) GetAllActions ¶
GetAllActions gets the list of actions that show up in the current policy.
func (*Enforcer) GetAllDomains ¶
GetAllDomains would get all domains.
func (*Enforcer) GetAllNamedActions ¶
GetAllNamedActions gets the list of actions that show up in the current named policy.
func (*Enforcer) GetAllNamedObjects ¶
GetAllNamedObjects gets the list of objects that show up in the current named policy.
func (*Enforcer) GetAllNamedRoles ¶
GetAllNamedRoles gets the list of roles that show up in the current named policy.
func (*Enforcer) GetAllNamedSubjects ¶
GetAllNamedSubjects gets the list of subjects that show up in the current named policy.
func (*Enforcer) GetAllObjects ¶
GetAllObjects gets the list of objects that show up in the current policy.
func (*Enforcer) GetAllRoles ¶
GetAllRoles gets the list of roles that show up in the current policy.
func (*Enforcer) GetAllRolesByDomain ¶
GetAllRolesByDomain would get all roles associated with the domain. note: Not applicable to Domains with inheritance relationship (implicit roles)
func (*Enforcer) GetAllSubjects ¶
GetAllSubjects gets the list of subjects that show up in the current policy.
func (*Enforcer) GetAllUsersByDomain ¶
GetAllUsersByDomain would get all users associated with the domain.
func (*Enforcer) GetAllowedObjectConditions ¶
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 ¶
GetDomainsForUser gets all domains
func (*Enforcer) GetFieldIndex ¶
func (*Enforcer) GetFilteredGroupingPolicy ¶
GetFilteredGroupingPolicy gets all the role inheritance rules in the policy, field filters can be specified.
func (*Enforcer) GetFilteredNamedGroupingPolicy ¶
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 ¶
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 ¶
func (e *Enforcer) GetFilteredNamedPolicyWithMatcher(ptype string, matcher string) ([][]string, error)
GetFilteredNamedPolicyWithMatcher gets rules based on matcher from the policy.
func (*Enforcer) GetFilteredPolicy ¶
GetFilteredPolicy gets all the authorization rules in the policy, field filters can be specified.
func (*Enforcer) GetGroupingPolicy ¶
GetGroupingPolicy gets all the role inheritance rules in the policy.
func (*Enforcer) GetImplicitPermissionsForUser ¶
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 ¶
GetImplicitResourcesForUser returns all policies that user obtaining in domain
func (*Enforcer) GetImplicitRolesForUser ¶
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 ¶
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 ¶
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 ¶
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 ¶
GetImplicitUsersForRole gets implicit users for a role.
func (*Enforcer) GetNamedGroupingPolicy ¶
GetNamedGroupingPolicy gets all the role inheritance rules in the policy.
func (*Enforcer) GetNamedImplicitPermissionsForUser ¶
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 ¶
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 ¶
GetNamedPolicy gets all the authorization rules in the named policy.
func (*Enforcer) GetNamedRoleManager ¶
func (e *Enforcer) GetNamedRoleManager(ptype string) rbac.RoleManager
GetNamedRoleManager gets the role manager for the named policy.
func (*Enforcer) GetPermissionsForUser ¶
GetPermissionsForUser gets permissions for a user or role.
func (*Enforcer) GetPermissionsForUserInDomain ¶
GetPermissionsForUserInDomain gets permissions for a user or role inside a domain.
func (*Enforcer) GetRoleManager ¶
func (e *Enforcer) GetRoleManager() rbac.RoleManager
GetRoleManager gets the current role manager.
func (*Enforcer) GetRolesForUser ¶
GetRolesForUser gets the roles that a user has.
func (*Enforcer) GetRolesForUserInDomain ¶
GetRolesForUserInDomain gets the roles that a user has inside a domain.
func (*Enforcer) GetUsersForRole ¶
GetUsersForRole gets the users that has a role.
func (*Enforcer) GetUsersForRoleInDomain ¶
GetUsersForRoleInDomain gets the users that has a role inside a domain. Add by Gordon
func (*Enforcer) HasGroupingPolicy ¶
HasGroupingPolicy determines whether a role inheritance rule exists.
func (*Enforcer) HasNamedGroupingPolicy ¶
HasNamedGroupingPolicy determines whether a named role inheritance rule exists.
func (*Enforcer) HasNamedPolicy ¶
HasNamedPolicy determines whether a named authorization rule exists.
func (*Enforcer) HasPermissionForUser ¶
HasPermissionForUser determines whether a user has a permission.
func (*Enforcer) HasRoleForUser ¶
HasRoleForUser determines whether a user has a role.
func (*Enforcer) InitWithAdapter ¶
InitWithAdapter initializes an enforcer with a database adapter.
func (*Enforcer) InitWithFile ¶
InitWithFile initializes an enforcer with a model file and a policy file.
func (*Enforcer) InitWithModelAndAdapter ¶
InitWithModelAndAdapter initializes an enforcer with a model and a database adapter.
func (*Enforcer) IsFiltered ¶
IsFiltered returns true if the loaded policy has been filtered.
func (*Enforcer) IsLogEnabled ¶
IsLogEnabled returns the current logger's enabled status.
func (*Enforcer) LoadFilteredPolicy ¶
LoadFilteredPolicy reloads a filtered policy from file/database.
func (*Enforcer) LoadIncrementalFilteredPolicy ¶
LoadIncrementalFilteredPolicy append a filtered policy from file/database.
func (*Enforcer) LoadModel ¶
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 ¶
LoadPolicy reloads the policy from file/database.
func (*Enforcer) RemoveFilteredGroupingPolicy ¶
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) RemoveFilteredGroupingPolicyCtx ¶
func (e *Enforcer) RemoveFilteredGroupingPolicyCtx(ctx context.Context, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredGroupingPolicyCtx removes a role inheritance rule from the current policy, field filters can be specified.
func (*Enforcer) RemoveFilteredNamedGroupingPolicy ¶
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) RemoveFilteredNamedGroupingPolicyCtx ¶
func (e *Enforcer) RemoveFilteredNamedGroupingPolicyCtx(ctx context.Context, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredNamedGroupingPolicyCtx removes a role inheritance rule from the current named policy, field filters can be specified.
func (*Enforcer) RemoveFilteredNamedPolicy ¶
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) RemoveFilteredNamedPolicyCtx ¶
func (e *Enforcer) RemoveFilteredNamedPolicyCtx(ctx context.Context, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredNamedPolicyCtx removes an authorization rule from the current named policy, field filters can be specified.
func (*Enforcer) RemoveFilteredPolicy ¶
RemoveFilteredPolicy removes an authorization rule from the current policy, field filters can be specified.
func (*Enforcer) RemoveFilteredPolicyCtx ¶
func (e *Enforcer) RemoveFilteredPolicyCtx(ctx context.Context, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredPolicyCtx removes an authorization rule from the current policy, field filters can be specified.
func (*Enforcer) RemoveGroupingPolicies ¶
RemoveGroupingPolicies removes role inheritance rules from the current policy.
func (*Enforcer) RemoveGroupingPoliciesCtx ¶
RemoveGroupingPoliciesCtx removes role inheritance rules from the current policy.
func (*Enforcer) RemoveGroupingPolicy ¶
RemoveGroupingPolicy removes a role inheritance rule from the current policy.
func (*Enforcer) RemoveGroupingPolicyCtx ¶
func (e *Enforcer) RemoveGroupingPolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
RemoveGroupingPolicyCtx removes a role inheritance rule from the current policy.
func (*Enforcer) RemoveNamedGroupingPolicies ¶
RemoveNamedGroupingPolicies removes role inheritance rules from the current named policy.
func (*Enforcer) RemoveNamedGroupingPoliciesCtx ¶
func (e *Enforcer) RemoveNamedGroupingPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
RemoveNamedGroupingPoliciesCtx removes role inheritance rules from the current named policy.
func (*Enforcer) RemoveNamedGroupingPolicy ¶
RemoveNamedGroupingPolicy removes a role inheritance rule from the current named policy.
func (*Enforcer) RemoveNamedGroupingPolicyCtx ¶
func (e *Enforcer) RemoveNamedGroupingPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
RemoveNamedGroupingPolicyCtx removes a role inheritance rule from the current named policy.
func (*Enforcer) RemoveNamedPolicies ¶
RemoveNamedPolicies removes authorization rules from the current named policy.
func (*Enforcer) RemoveNamedPoliciesCtx ¶
func (e *Enforcer) RemoveNamedPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
RemoveNamedPoliciesCtx removes authorization rules from the current named policy.
func (*Enforcer) RemoveNamedPolicy ¶
RemoveNamedPolicy removes an authorization rule from the current named policy.
func (*Enforcer) RemoveNamedPolicyCtx ¶
func (e *Enforcer) RemoveNamedPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
RemoveNamedPolicyCtx removes an authorization rule from the current named policy.
func (*Enforcer) RemovePolicies ¶
RemovePolicies removes authorization rules from the current policy.
func (*Enforcer) RemovePoliciesCtx ¶
RemovePoliciesCtx removes authorization rules from the current policy.
func (*Enforcer) RemovePolicy ¶
RemovePolicy removes an authorization rule from the current policy.
func (*Enforcer) RemovePolicyCtx ¶
RemovePolicyCtx removes an authorization rule from the current policy.
func (*Enforcer) SavePolicy ¶
SavePolicy saves the current policy (usually after changed with Casbin API) back to file/database.
func (*Enforcer) SelfAddPolicies ¶
func (*Enforcer) SelfAddPoliciesEx ¶
func (*Enforcer) SelfAddPoliciesExModel ¶
func (*Enforcer) SelfAddPoliciesModel ¶
func (*Enforcer) SelfAddPolicy ¶
func (*Enforcer) SelfAddPolicyModel ¶
func (*Enforcer) SelfRemoveFilteredPolicy ¶
func (*Enforcer) SelfRemoveFilteredPolicyModel ¶
func (*Enforcer) SelfRemovePolicies ¶
func (*Enforcer) SelfRemovePoliciesModel ¶
func (*Enforcer) SelfRemovePolicy ¶
func (*Enforcer) SelfRemovePolicyModel ¶
func (*Enforcer) SelfUpdatePolicies ¶
func (*Enforcer) SelfUpdatePoliciesModel ¶
func (*Enforcer) SelfUpdatePolicy ¶
func (*Enforcer) SelfUpdatePolicyModel ¶
func (*Enforcer) SetAdapter ¶
SetAdapter sets the current adapter.
func (*Enforcer) SetEffector ¶
SetEffector sets the current effector.
func (*Enforcer) SetFieldIndex ¶
func (*Enforcer) SetNamedDomainLinkConditionFuncParams ¶
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 ¶
SetNamedLinkConditionFuncParams Sets the parameters of the condition function fn for Link userName->roleName
func (*Enforcer) SetNamedRoleManager ¶
func (e *Enforcer) SetNamedRoleManager(ptype string, rm rbac.RoleManager)
SetNamedRoleManager sets the role manager for the named policy.
func (*Enforcer) SetRoleManager ¶
func (e *Enforcer) SetRoleManager(rm rbac.RoleManager)
SetRoleManager sets the current role manager.
func (*Enforcer) SetWatcher ¶
SetWatcher sets the current watcher.
func (*Enforcer) UpdateFilteredNamedPolicies ¶
func (*Enforcer) UpdateFilteredNamedPoliciesCtx ¶
func (*Enforcer) UpdateFilteredPolicies ¶
func (*Enforcer) UpdateFilteredPoliciesCtx ¶
func (*Enforcer) UpdateGroupingPolicies ¶
UpdateGroupingPolicies updates authorization rules from the current policies.
func (*Enforcer) UpdateGroupingPoliciesCtx ¶
func (e *Enforcer) UpdateGroupingPoliciesCtx(ctx context.Context, oldRules [][]string, newRules [][]string) (bool, error)
UpdateGroupingPoliciesCtx updates authorization rules from the current policies.
func (*Enforcer) UpdateGroupingPolicy ¶
func (*Enforcer) UpdateGroupingPolicyCtx ¶
func (*Enforcer) UpdateNamedGroupingPolicies ¶
func (*Enforcer) UpdateNamedGroupingPoliciesCtx ¶
func (*Enforcer) UpdateNamedGroupingPolicy ¶
func (*Enforcer) UpdateNamedGroupingPolicyCtx ¶
func (*Enforcer) UpdateNamedPolicies ¶
func (*Enforcer) UpdateNamedPoliciesCtx ¶
func (*Enforcer) UpdateNamedPolicy ¶
func (*Enforcer) UpdateNamedPolicyCtx ¶
func (*Enforcer) UpdatePolicies ¶
UpdatePolicies updates authorization rules from the current policies.
func (*Enforcer) UpdatePoliciesCtx ¶
func (e *Enforcer) UpdatePoliciesCtx(ctx context.Context, oldPolices [][]string, newPolicies [][]string) (bool, error)
UpdatePoliciesCtx updates authorization rules from the current policies.
func (*Enforcer) UpdatePolicy ¶
UpdatePolicy updates an authorization rule from the current policy.
type IDistributedEnforcer ¶
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 ¶
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 context */ AddRoleForUserCtx(ctx context.Context, user string, role string, domain ...string) (bool, error) AddRolesForUserCtx(ctx context.Context, user string, roles []string, domain ...string) (bool, error) AddPermissionForUserCtx(ctx context.Context, user string, permission ...string) (bool, error) AddPermissionsForUserCtx(ctx context.Context, user string, permissions ...[]string) (bool, error) DeletePermissionForUserCtx(ctx context.Context, user string, permission ...string) (bool, error) DeletePermissionsForUserCtx(ctx context.Context, user string) (bool, error) DeleteRoleForUserCtx(ctx context.Context, user string, role string, domain ...string) (bool, error) DeleteRolesForUserCtx(ctx context.Context, user string, domain ...string) (bool, error) DeleteUserCtx(ctx context.Context, user string) (bool, error) DeleteRoleCtx(ctx context.Context, role string) (bool, error) DeletePermissionCtx(ctx context.Context, 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) GetAllUsersByDomain(domain string) []string DeleteRolesForUserInDomain(user string, domain string) (bool, error) DeleteAllUsersByDomain(domain string) (bool, error) DeleteDomains(domains ...string) (bool, error) GetAllDomains() ([]string, error) GetAllRolesByDomain(domain string) []string /* RBAC API with domains and context */ AddRoleForUserInDomainCtx(ctx context.Context, user string, role string, domain string) (bool, error) DeleteRoleForUserInDomainCtx(ctx context.Context, user string, role string, domain string) (bool, error) DeleteRolesForUserInDomainCtx(ctx context.Context, user string, domain string) (bool, error) DeleteAllUsersByDomainCtx(ctx context.Context, domain string) (bool, error) DeleteDomainsCtx(ctx context.Context, domains ...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 context */ AddPolicyCtx(ctx context.Context, params ...interface{}) (bool, error) AddPoliciesCtx(ctx context.Context, rules [][]string) (bool, error) AddNamedPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error) AddNamedPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error) AddPoliciesExCtx(ctx context.Context, rules [][]string) (bool, error) AddNamedPoliciesExCtx(ctx context.Context, ptype string, rules [][]string) (bool, error) RemovePolicyCtx(ctx context.Context, params ...interface{}) (bool, error) RemovePoliciesCtx(ctx context.Context, rules [][]string) (bool, error) RemoveFilteredPolicyCtx(ctx context.Context, fieldIndex int, fieldValues ...string) (bool, error) RemoveNamedPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error) RemoveNamedPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error) RemoveFilteredNamedPolicyCtx(ctx context.Context, ptype string, fieldIndex int, fieldValues ...string) (bool, error) AddGroupingPolicyCtx(ctx context.Context, params ...interface{}) (bool, error) AddGroupingPoliciesCtx(ctx context.Context, rules [][]string) (bool, error) AddGroupingPoliciesExCtx(ctx context.Context, rules [][]string) (bool, error) AddNamedGroupingPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error) AddNamedGroupingPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error) AddNamedGroupingPoliciesExCtx(ctx context.Context, ptype string, rules [][]string) (bool, error) RemoveGroupingPolicyCtx(ctx context.Context, params ...interface{}) (bool, error) RemoveGroupingPoliciesCtx(ctx context.Context, rules [][]string) (bool, error) RemoveFilteredGroupingPolicyCtx(ctx context.Context, fieldIndex int, fieldValues ...string) (bool, error) RemoveNamedGroupingPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error) RemoveNamedGroupingPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error) RemoveFilteredNamedGroupingPolicyCtx(ctx context.Context, ptype string, fieldIndex int, fieldValues ...string) (bool, error) UpdatePolicyCtx(ctx context.Context, oldPolicy []string, newPolicy []string) (bool, error) UpdatePoliciesCtx(ctx context.Context, oldPolicies [][]string, newPolicies [][]string) (bool, error) UpdateFilteredPoliciesCtx(ctx context.Context, newPolicies [][]string, fieldIndex int, fieldValues ...string) (bool, error) UpdateGroupingPolicyCtx(ctx context.Context, oldRule []string, newRule []string) (bool, error) UpdateGroupingPoliciesCtx(ctx context.Context, oldRules [][]string, newRules [][]string) (bool, error) UpdateNamedGroupingPolicyCtx(ctx context.Context, ptype string, oldRule []string, newRule []string) (bool, error) UpdateNamedGroupingPoliciesCtx(ctx context.Context, 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) /* Management API with autoNotifyWatcher disabled, without adapter */ SelfAddPolicyModel(sec string, ptype string, rule []string) (bool, error) SelfAddPoliciesModel(sec string, ptype string, rules [][]string) (bool, error) SelfAddPoliciesExModel(sec string, ptype string, rules [][]string) (bool, error) SelfRemovePolicyModel(sec string, ptype string, rule []string) (bool, error) SelfRemovePoliciesModel(sec string, ptype string, rules [][]string) (bool, error) SelfRemoveFilteredPolicyModel(sec string, ptype string, fieldIndex int, fieldValues ...string) (bool, error) SelfUpdatePolicyModel(sec string, ptype string, oldRule, newRule []string) (bool, error) SelfUpdatePoliciesModel(sec string, ptype string, oldRules, newRules [][]string) (bool, error) }
IEnforcer is the API interface of Enforcer
type ISyncedContextEnforcer ¶
type ISyncedContextEnforcer interface { IEnforcer LoadPolicySyncWatcher() error LoadPolicyCtx(ctx context.Context) error LoadPolicyFastCtx(ctx context.Context) error LoadFilteredPolicyCtx(ctx context.Context, filter interface{}) error LoadIncrementalFilteredPolicyCtx(ctx context.Context, filter interface{}) error SavePolicyCtx(ctx context.Context) error }
ISyncedContextEnforcer defines dispatcher enforcer.
type SyncedCachedEnforcer ¶
type SyncedCachedEnforcer struct { *SyncedEnforcer // contains filtered or unexported fields }
SyncedCachedEnforcer wraps Enforcer and provides decision sync cache
func NewSyncedCachedEnforcer ¶
func NewSyncedCachedEnforcer(params ...interface{}) (*SyncedCachedEnforcer, error)
NewSyncedCachedEnforcer creates a sync cached enforcer via file or DB.
func (*SyncedCachedEnforcer) AddPolicies ¶
func (e *SyncedCachedEnforcer) AddPolicies(rules [][]string) (bool, error)
func (*SyncedCachedEnforcer) AddPolicy ¶
func (e *SyncedCachedEnforcer) AddPolicy(params ...interface{}) (bool, error)
func (*SyncedCachedEnforcer) EnableCache ¶
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 ¶
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 ¶
func (e *SyncedCachedEnforcer) InvalidateCache() error
InvalidateCache deletes all the existing cached decisions.
func (*SyncedCachedEnforcer) LoadPolicy ¶
func (e *SyncedCachedEnforcer) LoadPolicy() error
func (*SyncedCachedEnforcer) RemovePolicies ¶
func (e *SyncedCachedEnforcer) RemovePolicies(rules [][]string) (bool, error)
func (*SyncedCachedEnforcer) RemovePolicy ¶
func (e *SyncedCachedEnforcer) RemovePolicy(params ...interface{}) (bool, error)
func (*SyncedCachedEnforcer) SetCache ¶
func (e *SyncedCachedEnforcer) SetCache(c cache.Cache)
SetCache need to be sync cache
func (*SyncedCachedEnforcer) SetExpireTime ¶
func (e *SyncedCachedEnforcer) SetExpireTime(expireTime time.Duration)
type SyncedContextEnforcer ¶
type SyncedContextEnforcer struct {
*SyncedEnforcer
}
SyncedContextEnforcer wraps Enforcer and provides synchronized access, and functions with context
func NewSyncedContextEnforcer ¶
func NewSyncedContextEnforcer(params ...interface{}) (*SyncedContextEnforcer, error)
NewSyncedContextEnforcer creates a synchronized enforcer handler via file or DB.
func (*SyncedContextEnforcer) AddGroupingPoliciesCtx ¶
func (e *SyncedContextEnforcer) AddGroupingPoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
AddGroupingPoliciesCtx 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 (*SyncedContextEnforcer) AddGroupingPoliciesExCtx ¶
func (e *SyncedContextEnforcer) AddGroupingPoliciesExCtx(ctx context.Context, rules [][]string) (bool, error)
AddGroupingPoliciesExCtx adds role inheritance rules to the current policy. If the rule already exists, the rule will not be added. But unlike AddGroupingPoliciesCtx, other non-existent rules are added instead of returning false directly
func (*SyncedContextEnforcer) AddGroupingPolicyCtx ¶
func (e *SyncedContextEnforcer) AddGroupingPolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
AddGroupingPolicyCtx 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 (*SyncedContextEnforcer) AddNamedGroupingPoliciesCtx ¶
func (e *SyncedContextEnforcer) AddNamedGroupingPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
AddNamedGroupingPoliciesCtx 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 (*SyncedContextEnforcer) AddNamedGroupingPoliciesExCtx ¶
func (e *SyncedContextEnforcer) AddNamedGroupingPoliciesExCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
AddNamedGroupingPoliciesExCtx adds named role inheritance rules to the current policy. If the rule already exists, the rule will not be added. But unlike AddNamedGroupingPoliciesCtx, other non-existent rules are added instead of returning false directly
func (*SyncedContextEnforcer) AddNamedGroupingPolicyCtx ¶
func (e *SyncedContextEnforcer) AddNamedGroupingPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
AddNamedGroupingPolicyCtx 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 (*SyncedContextEnforcer) AddNamedPoliciesCtx ¶
func (e *SyncedContextEnforcer) AddNamedPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
AddNamedPoliciesCtx 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 (*SyncedContextEnforcer) AddNamedPoliciesExCtx ¶
func (e *SyncedContextEnforcer) AddNamedPoliciesExCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
AddNamedPoliciesExCtx 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 (*SyncedContextEnforcer) AddNamedPolicyCtx ¶
func (e *SyncedContextEnforcer) AddNamedPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
AddNamedPolicyCtx 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 (*SyncedContextEnforcer) AddPermissionForUserCtx ¶
func (e *SyncedContextEnforcer) AddPermissionForUserCtx(ctx context.Context, user string, permission ...string) (bool, error)
AddPermissionForUserCtx adds a permission for a user or role. Returns false if the user or role already has the permission (aka not affected).
func (*SyncedContextEnforcer) AddPermissionsForUserCtx ¶
func (e *SyncedContextEnforcer) AddPermissionsForUserCtx(ctx context.Context, user string, permissions ...[]string) (bool, error)
AddPermissionsForUserCtx adds permissions for a user or role. Returns false if the user or role already has the permissions (aka not affected).
func (*SyncedContextEnforcer) AddPoliciesCtx ¶
AddPoliciesCtx 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 (*SyncedContextEnforcer) AddPoliciesExCtx ¶
func (e *SyncedContextEnforcer) AddPoliciesExCtx(ctx context.Context, rules [][]string) (bool, error)
AddPoliciesExCtx 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 (*SyncedContextEnforcer) AddPolicyCtx ¶
func (e *SyncedContextEnforcer) AddPolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
AddPolicyCtx 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 (*SyncedContextEnforcer) AddRoleForUserCtx ¶
func (e *SyncedContextEnforcer) AddRoleForUserCtx(ctx context.Context, user string, role string, domain ...string) (bool, error)
AddRoleForUserCtx adds a role for a user. Returns false if the user already has the role (aka not affected).
func (*SyncedContextEnforcer) AddRoleForUserInDomainCtx ¶
func (e *SyncedContextEnforcer) AddRoleForUserInDomainCtx(ctx context.Context, user string, role string, domain string) (bool, error)
AddRoleForUserInDomainCtx adds a role for a user inside a domain. Returns false if the user already has the role (aka not affected).
func (*SyncedContextEnforcer) AddRolesForUserCtx ¶
func (e *SyncedContextEnforcer) AddRolesForUserCtx(ctx context.Context, user string, roles []string, domain ...string) (bool, error)
AddRolesForUserCtx adds roles for a user. Returns false if the user already has the roles (aka not affected).
func (*SyncedContextEnforcer) DeleteAllUsersByDomainCtx ¶
func (e *SyncedContextEnforcer) DeleteAllUsersByDomainCtx(ctx context.Context, domain string) (bool, error)
DeleteAllUsersByDomainCtx would delete all users associated with the domain.
func (*SyncedContextEnforcer) DeleteDomainsCtx ¶
func (e *SyncedContextEnforcer) DeleteDomainsCtx(ctx context.Context, domains ...string) (bool, error)
DeleteDomainsCtx would delete all associated users and roles. It would delete all domains if parameter is not provided.
func (*SyncedContextEnforcer) DeletePermissionCtx ¶
func (e *SyncedContextEnforcer) DeletePermissionCtx(ctx context.Context, permission ...string) (bool, error)
DeletePermissionCtx deletes a permission. Returns false if the permission does not exist (aka not affected).
func (*SyncedContextEnforcer) DeletePermissionForUserCtx ¶
func (e *SyncedContextEnforcer) DeletePermissionForUserCtx(ctx context.Context, user string, permission ...string) (bool, error)
DeletePermissionForUserCtx deletes a permission for a user or role. Returns false if the user or role does not have the permission (aka not affected).
func (*SyncedContextEnforcer) DeletePermissionsForUserCtx ¶
func (e *SyncedContextEnforcer) DeletePermissionsForUserCtx(ctx context.Context, user string) (bool, error)
DeletePermissionsForUserCtx deletes permissions for a user or role. Returns false if the user or role does not have any permissions (aka not affected).
func (*SyncedContextEnforcer) DeleteRoleCtx ¶
DeleteRoleCtx deletes a role. Returns false if the role does not exist (aka not affected).
func (*SyncedContextEnforcer) DeleteRoleForUserCtx ¶
func (e *SyncedContextEnforcer) DeleteRoleForUserCtx(ctx context.Context, user string, role string, domain ...string) (bool, error)
DeleteRoleForUserCtx deletes a role for a user. Returns false if the user does not have the role (aka not affected).
func (*SyncedContextEnforcer) DeleteRoleForUserInDomainCtx ¶
func (e *SyncedContextEnforcer) DeleteRoleForUserInDomainCtx(ctx context.Context, user string, role string, domain string) (bool, error)
DeleteRoleForUserInDomainCtx deletes a role for a user inside a domain. Returns false if the user does not have the role (aka not affected).
func (*SyncedContextEnforcer) DeleteRolesForUserCtx ¶
func (e *SyncedContextEnforcer) DeleteRolesForUserCtx(ctx context.Context, user string, domain ...string) (bool, error)
DeleteRolesForUserCtx deletes all roles for a user. Returns false if the user does not have any roles (aka not affected).
func (*SyncedContextEnforcer) DeleteRolesForUserInDomainCtx ¶
func (e *SyncedContextEnforcer) DeleteRolesForUserInDomainCtx(ctx context.Context, user string, domain string) (bool, error)
DeleteRolesForUserInDomainCtx deletes all roles for a user inside a domain. Returns false if the user does not have any roles (aka not affected).
func (*SyncedContextEnforcer) DeleteUserCtx ¶
DeleteUserCtx deletes a user. Returns false if the user does not exist (aka not affected).
func (*SyncedContextEnforcer) LoadFilteredPolicyCtx ¶
func (e *SyncedContextEnforcer) LoadFilteredPolicyCtx(ctx context.Context, filter interface{}) error
LoadFilteredPolicyCtx reloads a filtered policy from file/database.
func (*SyncedContextEnforcer) LoadIncrementalFilteredPolicyCtx ¶
func (e *SyncedContextEnforcer) LoadIncrementalFilteredPolicyCtx(ctx context.Context, filter interface{}) error
LoadIncrementalFilteredPolicyCtx reloads a filtered policy from file/database.
func (*SyncedContextEnforcer) LoadPolicyCtx ¶
func (e *SyncedContextEnforcer) LoadPolicyCtx(ctx context.Context) error
LoadPolicyCtx reloads the policy from file/database.
func (*SyncedContextEnforcer) LoadPolicyFastCtx ¶
func (e *SyncedContextEnforcer) LoadPolicyFastCtx(ctx context.Context) error
LoadPolicyFastCtx is not blocked when adapter calls LoadPolicy.
func (*SyncedContextEnforcer) LoadPolicySyncWatcher ¶
func (e *SyncedContextEnforcer) LoadPolicySyncWatcher() error
LoadPolicySyncWatcher reloads the policy from file/database and notify to watcher.
func (*SyncedContextEnforcer) RemoveFilteredGroupingPolicyCtx ¶
func (e *SyncedContextEnforcer) RemoveFilteredGroupingPolicyCtx(ctx context.Context, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredGroupingPolicyCtx removes a role inheritance rule from the current policy, field filters can be specified.
func (*SyncedContextEnforcer) RemoveFilteredNamedGroupingPolicyCtx ¶
func (e *SyncedContextEnforcer) RemoveFilteredNamedGroupingPolicyCtx(ctx context.Context, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredNamedGroupingPolicyCtx removes a role inheritance rule from the current named policy, field filters can be specified.
func (*SyncedContextEnforcer) RemoveFilteredNamedPolicyCtx ¶
func (e *SyncedContextEnforcer) RemoveFilteredNamedPolicyCtx(ctx context.Context, ptype string, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredNamedPolicyCtx removes an authorization rule from the current named policy, field filters can be specified.
func (*SyncedContextEnforcer) RemoveFilteredPolicyCtx ¶
func (e *SyncedContextEnforcer) RemoveFilteredPolicyCtx(ctx context.Context, fieldIndex int, fieldValues ...string) (bool, error)
RemoveFilteredPolicyCtx removes an authorization rule from the current policy, field filters can be specified.
func (*SyncedContextEnforcer) RemoveGroupingPoliciesCtx ¶
func (e *SyncedContextEnforcer) RemoveGroupingPoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
RemoveGroupingPoliciesCtx removes role inheritance rules from the current policy.
func (*SyncedContextEnforcer) RemoveGroupingPolicyCtx ¶
func (e *SyncedContextEnforcer) RemoveGroupingPolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
RemoveGroupingPolicyCtx removes a role inheritance rule from the current policy.
func (*SyncedContextEnforcer) RemoveNamedGroupingPoliciesCtx ¶
func (e *SyncedContextEnforcer) RemoveNamedGroupingPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
RemoveNamedGroupingPoliciesCtx removes role inheritance rules from the current named policy.
func (*SyncedContextEnforcer) RemoveNamedGroupingPolicyCtx ¶
func (e *SyncedContextEnforcer) RemoveNamedGroupingPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
RemoveNamedGroupingPolicyCtx removes a role inheritance rule from the current named policy.
func (*SyncedContextEnforcer) RemoveNamedPoliciesCtx ¶
func (e *SyncedContextEnforcer) RemoveNamedPoliciesCtx(ctx context.Context, ptype string, rules [][]string) (bool, error)
RemoveNamedPoliciesCtx removes authorization rules from the current named policy.
func (*SyncedContextEnforcer) RemoveNamedPolicyCtx ¶
func (e *SyncedContextEnforcer) RemoveNamedPolicyCtx(ctx context.Context, ptype string, params ...interface{}) (bool, error)
RemoveNamedPolicyCtx removes an authorization rule from the current named policy.
func (*SyncedContextEnforcer) RemovePoliciesCtx ¶
func (e *SyncedContextEnforcer) RemovePoliciesCtx(ctx context.Context, rules [][]string) (bool, error)
RemovePoliciesCtx removes authorization rules from the current policy.
func (*SyncedContextEnforcer) RemovePolicyCtx ¶
func (e *SyncedContextEnforcer) RemovePolicyCtx(ctx context.Context, params ...interface{}) (bool, error)
RemovePolicyCtx removes an authorization rule from the current policy.
func (*SyncedContextEnforcer) SavePolicyCtx ¶
func (e *SyncedContextEnforcer) SavePolicyCtx(ctx context.Context) error
SavePolicyCtx saves the current policy (usually after changed with Casbin API) back to file/database.
func (*SyncedContextEnforcer) UpdateFilteredNamedPoliciesCtx ¶
func (*SyncedContextEnforcer) UpdateFilteredPoliciesCtx ¶
func (*SyncedContextEnforcer) UpdateGroupingPoliciesCtx ¶
func (*SyncedContextEnforcer) UpdateGroupingPolicyCtx ¶
func (*SyncedContextEnforcer) UpdateNamedGroupingPoliciesCtx ¶
func (*SyncedContextEnforcer) UpdateNamedGroupingPolicyCtx ¶
func (*SyncedContextEnforcer) UpdateNamedPoliciesCtx ¶
func (*SyncedContextEnforcer) UpdateNamedPolicyCtx ¶
func (*SyncedContextEnforcer) UpdatePoliciesCtx ¶
func (e *SyncedContextEnforcer) UpdatePoliciesCtx(ctx context.Context, oldPolices [][]string, newPolicies [][]string) (bool, error)
UpdatePoliciesCtx updates authorization rules from the current policies.
func (*SyncedContextEnforcer) UpdatePolicyCtx ¶
func (e *SyncedContextEnforcer) UpdatePolicyCtx(ctx context.Context, oldPolicy []string, newPolicy []string) (bool, error)
UpdatePolicyCtx updates an authorization rule from the current policy.
type SyncedEnforcer ¶
type SyncedEnforcer struct { *Enforcer // contains filtered or unexported fields }
SyncedEnforcer wraps Enforcer and provides synchronized access
func NewSyncedEnforcer ¶
func NewSyncedEnforcer(params ...interface{}) (*SyncedEnforcer, error)
NewSyncedEnforcer creates a synchronized enforcer via file or DB.
func (*SyncedEnforcer) AddFunction ¶
func (e *SyncedEnforcer) AddFunction(name string, function govaluate.ExpressionFunction)
AddFunction adds a customized function.
func (*SyncedEnforcer) AddGroupingPolicies ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
AddRoleForUser adds a role for a user. Returns false if the user already has the role (aka not affected).
func (*SyncedEnforcer) AddRoleForUserInDomain ¶
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 ¶
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 ¶
func (e *SyncedEnforcer) BatchEnforce(requests [][]interface{}) ([]bool, error)
BatchEnforce enforce in batches
func (*SyncedEnforcer) BatchEnforceWithMatcher ¶
func (e *SyncedEnforcer) BatchEnforceWithMatcher(matcher string, requests [][]interface{}) ([]bool, error)
BatchEnforceWithMatcher enforce with matcher in batches
func (*SyncedEnforcer) BuildRoleLinks ¶
func (e *SyncedEnforcer) BuildRoleLinks() error
BuildRoleLinks manually rebuild the role inheritance relations.
func (*SyncedEnforcer) ClearPolicy ¶
func (e *SyncedEnforcer) ClearPolicy()
ClearPolicy clears all policy.
func (*SyncedEnforcer) DeletePermission ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
func (e *SyncedEnforcer) EnforceEx(rvals ...interface{}) (bool, []string, error)
EnforceEx explain enforcement by informing matched rules
func (*SyncedEnforcer) EnforceExWithMatcher ¶
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 ¶
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 ¶
func (e *SyncedEnforcer) GetAllActions() []string
GetAllActions gets the list of actions that show up in the current policy.
func (*SyncedEnforcer) GetAllNamedActions ¶
func (e *SyncedEnforcer) GetAllNamedActions(ptype string) []string
GetAllNamedActions gets the list of actions that show up in the current named policy.
func (*SyncedEnforcer) GetAllNamedObjects ¶
func (e *SyncedEnforcer) GetAllNamedObjects(ptype string) []string
GetAllNamedObjects gets the list of objects that show up in the current named policy.
func (*SyncedEnforcer) GetAllNamedRoles ¶
func (e *SyncedEnforcer) GetAllNamedRoles(ptype string) []string
GetAllNamedRoles gets the list of roles that show up in the current named policy.
func (*SyncedEnforcer) GetAllNamedSubjects ¶
func (e *SyncedEnforcer) GetAllNamedSubjects(ptype string) []string
GetAllNamedSubjects gets the list of subjects that show up in the current named policy.
func (*SyncedEnforcer) GetAllObjects ¶
func (e *SyncedEnforcer) GetAllObjects() []string
GetAllObjects gets the list of objects that show up in the current policy.
func (*SyncedEnforcer) GetAllRoles ¶
func (e *SyncedEnforcer) GetAllRoles() []string
GetAllRoles gets the list of roles that show up in the current policy.
func (*SyncedEnforcer) GetAllSubjects ¶
func (e *SyncedEnforcer) GetAllSubjects() []string
GetAllSubjects gets the list of subjects that show up in the current policy.
func (*SyncedEnforcer) GetFilteredGroupingPolicy ¶
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 ¶
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 ¶
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 ¶
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 ¶
func (e *SyncedEnforcer) GetGroupingPolicy() [][]string
GetGroupingPolicy gets all the role inheritance rules in the policy.
func (*SyncedEnforcer) GetImplicitPermissionsForUser ¶
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 ¶
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 ¶
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 ¶
func (e *SyncedEnforcer) GetLock() *sync.RWMutex
GetLock return the private RWMutex lock
func (*SyncedEnforcer) GetNamedGroupingPolicy ¶
func (e *SyncedEnforcer) GetNamedGroupingPolicy(ptype string) [][]string
GetNamedGroupingPolicy gets all the role inheritance rules in the policy.
func (*SyncedEnforcer) GetNamedImplicitPermissionsForUser ¶
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 ¶
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 ¶
func (e *SyncedEnforcer) GetNamedPolicy(ptype string) [][]string
GetNamedPolicy gets all the authorization rules in the named policy.
func (*SyncedEnforcer) GetPermissionsForUser ¶
func (e *SyncedEnforcer) GetPermissionsForUser(user string, domain ...string) [][]string
GetPermissionsForUser gets permissions for a user or role.
func (*SyncedEnforcer) GetPermissionsForUserInDomain ¶
func (e *SyncedEnforcer) GetPermissionsForUserInDomain(user string, domain string) [][]string
GetPermissionsForUserInDomain gets permissions for a user or role inside a domain.
func (*SyncedEnforcer) GetPolicy ¶
func (e *SyncedEnforcer) GetPolicy() [][]string
GetPolicy gets all the authorization rules in the policy.
func (*SyncedEnforcer) GetRolesForUser ¶
func (e *SyncedEnforcer) GetRolesForUser(name string, domain ...string) ([]string, error)
GetRolesForUser gets the roles that a user has.
func (*SyncedEnforcer) GetRolesForUserInDomain ¶
func (e *SyncedEnforcer) GetRolesForUserInDomain(name string, domain string) []string
GetRolesForUserInDomain gets the roles that a user has inside a domain.
func (*SyncedEnforcer) GetUsersForRole ¶
func (e *SyncedEnforcer) GetUsersForRole(name string, domain ...string) ([]string, error)
GetUsersForRole gets the users that has a role.
func (*SyncedEnforcer) GetUsersForRoleInDomain ¶
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 ¶
func (e *SyncedEnforcer) HasGroupingPolicy(params ...interface{}) bool
HasGroupingPolicy determines whether a role inheritance rule exists.
func (*SyncedEnforcer) HasNamedGroupingPolicy ¶
func (e *SyncedEnforcer) HasNamedGroupingPolicy(ptype string, params ...interface{}) bool
HasNamedGroupingPolicy determines whether a named role inheritance rule exists.
func (*SyncedEnforcer) HasNamedPolicy ¶
func (e *SyncedEnforcer) HasNamedPolicy(ptype string, params ...interface{}) bool
HasNamedPolicy determines whether a named authorization rule exists.
func (*SyncedEnforcer) HasPermissionForUser ¶
func (e *SyncedEnforcer) HasPermissionForUser(user string, permission ...string) bool
HasPermissionForUser determines whether a user has a permission.
func (*SyncedEnforcer) HasPolicy ¶
func (e *SyncedEnforcer) HasPolicy(params ...interface{}) bool
HasPolicy determines whether an authorization rule exists.
func (*SyncedEnforcer) HasRoleForUser ¶
HasRoleForUser determines whether a user has a role.
func (*SyncedEnforcer) IsAutoLoadingRunning ¶
func (e *SyncedEnforcer) IsAutoLoadingRunning() bool
IsAutoLoadingRunning check if SyncedEnforcer is auto loading policies
func (*SyncedEnforcer) LoadFilteredPolicy ¶
func (e *SyncedEnforcer) LoadFilteredPolicy(filter interface{}) error
LoadFilteredPolicy reloads a filtered policy from file/database.
func (*SyncedEnforcer) LoadIncrementalFilteredPolicy ¶
func (e *SyncedEnforcer) LoadIncrementalFilteredPolicy(filter interface{}) error
LoadIncrementalFilteredPolicy reloads a filtered policy from file/database.
func (*SyncedEnforcer) LoadModel ¶
func (e *SyncedEnforcer) LoadModel() error
LoadModel reloads the model from the model CONF file.
func (*SyncedEnforcer) LoadPolicy ¶
func (e *SyncedEnforcer) LoadPolicy() error
LoadPolicy reloads the policy from file/database.
func (*SyncedEnforcer) LoadPolicyFast ¶
func (e *SyncedEnforcer) LoadPolicyFast() error
LoadPolicyFast is not blocked when adapter calls LoadPolicy.
func (*SyncedEnforcer) RemoveFilteredGroupingPolicy ¶
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 ¶
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 ¶
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 ¶
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 ¶
func (e *SyncedEnforcer) RemoveGroupingPolicies(rules [][]string) (bool, error)
RemoveGroupingPolicies removes role inheritance rules from the current policy.
func (*SyncedEnforcer) RemoveGroupingPolicy ¶
func (e *SyncedEnforcer) RemoveGroupingPolicy(params ...interface{}) (bool, error)
RemoveGroupingPolicy removes a role inheritance rule from the current policy.
func (*SyncedEnforcer) RemoveNamedGroupingPolicies ¶
func (e *SyncedEnforcer) RemoveNamedGroupingPolicies(ptype string, rules [][]string) (bool, error)
RemoveNamedGroupingPolicies removes role inheritance rules from the current named policy.
func (*SyncedEnforcer) RemoveNamedGroupingPolicy ¶
func (e *SyncedEnforcer) RemoveNamedGroupingPolicy(ptype string, params ...interface{}) (bool, error)
RemoveNamedGroupingPolicy removes a role inheritance rule from the current named policy.
func (*SyncedEnforcer) RemoveNamedPolicies ¶
func (e *SyncedEnforcer) RemoveNamedPolicies(ptype string, rules [][]string) (bool, error)
RemoveNamedPolicies removes authorization rules from the current named policy.
func (*SyncedEnforcer) RemoveNamedPolicy ¶
func (e *SyncedEnforcer) RemoveNamedPolicy(ptype string, params ...interface{}) (bool, error)
RemoveNamedPolicy removes an authorization rule from the current named policy.
func (*SyncedEnforcer) RemovePolicies ¶
func (e *SyncedEnforcer) RemovePolicies(rules [][]string) (bool, error)
RemovePolicies removes authorization rules from the current policy.
func (*SyncedEnforcer) RemovePolicy ¶
func (e *SyncedEnforcer) RemovePolicy(params ...interface{}) (bool, error)
RemovePolicy removes an authorization rule from the current policy.
func (*SyncedEnforcer) SavePolicy ¶
func (e *SyncedEnforcer) SavePolicy() error
SavePolicy saves the current policy (usually after changed with Casbin API) back to file/database.
func (*SyncedEnforcer) SelfAddPolicies ¶
func (*SyncedEnforcer) SelfAddPoliciesEx ¶
func (*SyncedEnforcer) SelfAddPoliciesExModel ¶
func (*SyncedEnforcer) SelfAddPoliciesModel ¶
func (*SyncedEnforcer) SelfAddPolicy ¶
func (*SyncedEnforcer) SelfAddPolicyModel ¶
func (*SyncedEnforcer) SelfRemoveFilteredPolicy ¶
func (*SyncedEnforcer) SelfRemoveFilteredPolicyModel ¶
func (*SyncedEnforcer) SelfRemovePolicies ¶
func (*SyncedEnforcer) SelfRemovePoliciesModel ¶
func (*SyncedEnforcer) SelfRemovePolicy ¶
func (*SyncedEnforcer) SelfRemovePolicyModel ¶
func (*SyncedEnforcer) SelfUpdatePolicies ¶
func (*SyncedEnforcer) SelfUpdatePoliciesModel ¶
func (*SyncedEnforcer) SelfUpdatePolicy ¶
func (*SyncedEnforcer) SelfUpdatePolicyModel ¶
func (*SyncedEnforcer) SetWatcher ¶
func (e *SyncedEnforcer) SetWatcher(watcher persist.Watcher) error
SetWatcher sets the current watcher.
func (*SyncedEnforcer) StartAutoLoadPolicy ¶
func (e *SyncedEnforcer) StartAutoLoadPolicy(d time.Duration)
StartAutoLoadPolicy starts a go routine that will every specified duration call LoadPolicy
func (*SyncedEnforcer) StopAutoLoadPolicy ¶
func (e *SyncedEnforcer) StopAutoLoadPolicy()
StopAutoLoadPolicy causes the go routine to exit.
func (*SyncedEnforcer) UpdateFilteredNamedPolicies ¶
func (*SyncedEnforcer) UpdateFilteredPolicies ¶
func (*SyncedEnforcer) UpdateGroupingPolicies ¶
func (e *SyncedEnforcer) UpdateGroupingPolicies(oldRules [][]string, newRules [][]string) (bool, error)
func (*SyncedEnforcer) UpdateGroupingPolicy ¶
func (e *SyncedEnforcer) UpdateGroupingPolicy(oldRule []string, newRule []string) (bool, error)
func (*SyncedEnforcer) UpdateNamedGroupingPolicies ¶
func (*SyncedEnforcer) UpdateNamedGroupingPolicy ¶
func (*SyncedEnforcer) UpdateNamedPolicies ¶
func (*SyncedEnforcer) UpdateNamedPolicy ¶
func (*SyncedEnforcer) UpdatePolicies ¶
func (e *SyncedEnforcer) UpdatePolicies(oldPolices [][]string, newPolicies [][]string) (bool, error)
UpdatePolicies updates authorization rules from the current policies.
func (*SyncedEnforcer) UpdatePolicy ¶
func (e *SyncedEnforcer) UpdatePolicy(oldPolicy []string, newPolicy []string) (bool, error)
UpdatePolicy updates an authorization rule from the current policy.
Source Files
¶
- enforcer.go
- enforcer_cached.go
- enforcer_cached_synced.go
- enforcer_distributed.go
- enforcer_interface.go
- enforcer_synced.go
- enforcer_synced_context.go
- frontend.go
- frontend_old.go
- internal_api.go
- internal_context_api.go
- management_api.go
- management_context_api.go
- rbac_api.go
- rbac_api_context.go
- rbac_api_synced.go
- rbac_api_synced_context.go
- rbac_api_with_domains.go
- rbac_api_with_domains_context.go
- rbac_api_with_domains_synced.go
- rbac_api_with_domains_synced_context.go