Documentation
¶
Index ¶
- type ConditionalDomainManager
- func (cdm *ConditionalDomainManager) AddDomainLinkConditionFunc(userName, roleName, domain string, fn rbac.LinkConditionFunc)
- func (cdm *ConditionalDomainManager) AddDomainMatchingFunc(name string, fn rbac.MatchingFunc)
- func (cdm *ConditionalDomainManager) AddLink(name1 string, name2 string, domains ...string) error
- func (cdm *ConditionalDomainManager) AddLinkConditionFunc(userName, roleName string, fn rbac.LinkConditionFunc)
- func (cdm *ConditionalDomainManager) DeleteLink(name1 string, name2 string, domains ...string) error
- func (cdm *ConditionalDomainManager) GetImplicitRoles(name string, domains ...string) ([]string, error)
- func (cdm *ConditionalDomainManager) GetImplicitUsers(name string, domains ...string) ([]string, error)
- func (cdm *ConditionalDomainManager) GetRoles(name string, domains ...string) ([]string, error)
- func (cdm *ConditionalDomainManager) GetUsers(name string, domains ...string) ([]string, error)
- func (cdm *ConditionalDomainManager) HasLink(name1 string, name2 string, domains ...string) (bool, error)
- func (cdm *ConditionalDomainManager) SetDomainLinkConditionFuncParams(userName, roleName, domain string, params ...string)
- func (cdm *ConditionalDomainManager) SetLinkConditionFuncParams(userName, roleName string, params ...string)
- type ConditionalRoleManager
- func (crm *ConditionalRoleManager) AddDomainLinkConditionFunc(userName, roleName, domain string, fn rbac.LinkConditionFunc)
- func (crm *ConditionalRoleManager) AddLinkConditionFunc(userName, roleName string, fn rbac.LinkConditionFunc)
- func (crm *ConditionalRoleManager) GetDomainLinkConditionFunc(userName, roleName, domain string) (rbac.LinkConditionFunc, bool)
- func (crm *ConditionalRoleManager) GetImplicitRoles(name string, domain ...string) ([]string, error)
- func (crm *ConditionalRoleManager) GetImplicitUsers(name string, domain ...string) ([]string, error)
- func (crm *ConditionalRoleManager) GetLinkConditionFunc(userName, roleName string) (rbac.LinkConditionFunc, bool)
- func (crm *ConditionalRoleManager) GetLinkConditionFuncParams(userName, roleName string, domain ...string) ([]string, bool)
- func (crm *ConditionalRoleManager) GetRoles(name string, domains ...string) ([]string, error)
- func (crm *ConditionalRoleManager) GetUsers(name string, domains ...string) ([]string, error)
- func (crm *ConditionalRoleManager) HasLink(name1 string, name2 string, domains ...string) (bool, error)
- func (crm *ConditionalRoleManager) SetDomainLinkConditionFuncParams(userName, roleName, domain string, params ...string)
- func (crm *ConditionalRoleManager) SetLinkConditionFuncParams(userName, roleName string, params ...string)
- type DomainManager
- func (dm *DomainManager) AddDomainMatchingFunc(name string, fn rbac.MatchingFunc)
- func (dm *DomainManager) AddLink(name1 string, name2 string, domains ...string) error
- func (dm *DomainManager) AddMatchingFunc(name string, fn rbac.MatchingFunc)
- func (dm *DomainManager) BuildRelationship(name1 string, name2 string, domain ...string) errordeprecated
- func (dm *DomainManager) Clear() error
- func (dm *DomainManager) DeleteDomain(domain string) error
- func (dm *DomainManager) DeleteLink(name1 string, name2 string, domains ...string) error
- func (dm *DomainManager) GetAllDomains() ([]string, error)
- func (dm *DomainManager) GetDomains(name string) ([]string, error)
- func (dm *DomainManager) GetImplicitRoles(name string, domains ...string) ([]string, error)
- func (dm *DomainManager) GetImplicitUsers(name string, domains ...string) ([]string, error)
- func (dm *DomainManager) GetRoles(name string, domains ...string) ([]string, error)
- func (dm *DomainManager) GetUsers(name string, domains ...string) ([]string, error)
- func (dm *DomainManager) HasLink(name1 string, name2 string, domains ...string) (bool, error)
- func (dm *DomainManager) Match(str string, pattern string) bool
- func (dm *DomainManager) PrintRoles() error
- type Role
- type RoleManager
- type RoleManagerImpl
- func (rm *RoleManagerImpl) AddDomainMatchingFunc(name string, fn rbac.MatchingFunc)
- func (rm *RoleManagerImpl) AddLink(name1 string, name2 string, domains ...string) error
- func (rm *RoleManagerImpl) AddMatchingFunc(name string, fn rbac.MatchingFunc)
- func (rm *RoleManagerImpl) BuildRelationship(name1 string, name2 string, domain ...string) errordeprecated
- func (rm *RoleManagerImpl) Clear() error
- func (rm *RoleManagerImpl) DeleteDomain(domain string) error
- func (rm *RoleManagerImpl) DeleteLink(name1 string, name2 string, domains ...string) error
- func (rm *RoleManagerImpl) GetAllDomains() ([]string, error)
- func (rm *RoleManagerImpl) GetDomains(name string) ([]string, error)
- func (rm *RoleManagerImpl) GetImplicitRoles(name string, domain ...string) ([]string, error)
- func (rm *RoleManagerImpl) GetImplicitUsers(name string, domain ...string) ([]string, error)
- func (rm *RoleManagerImpl) GetRoles(name string, domains ...string) ([]string, error)
- func (rm *RoleManagerImpl) GetUsers(name string, domain ...string) ([]string, error)
- func (rm *RoleManagerImpl) HasLink(name1 string, name2 string, domains ...string) (bool, error)
- func (rm *RoleManagerImpl) Match(str string, pattern string) bool
- func (rm *RoleManagerImpl) PrintRoles() error
- func (rm *RoleManagerImpl) Range(fn func(name1, name2 string, domain ...string) bool)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConditionalDomainManager ¶
type ConditionalDomainManager struct {
ConditionalRoleManager
DomainManager
}
func NewConditionalDomainManager ¶
func NewConditionalDomainManager(maxHierarchyLevel int) *ConditionalDomainManager
NewConditionalDomainManager is the constructor for creating an instance of the ConditionalDomainManager implementation.
func (*ConditionalDomainManager) AddDomainLinkConditionFunc ¶
func (cdm *ConditionalDomainManager) AddDomainLinkConditionFunc(userName, roleName, domain string, fn rbac.LinkConditionFunc)
AddDomainLinkConditionFunc is based on userName, roleName, domain, add LinkConditionFunc.
func (*ConditionalDomainManager) AddDomainMatchingFunc ¶
func (cdm *ConditionalDomainManager) AddDomainMatchingFunc(name string, fn rbac.MatchingFunc)
AddDomainMatchingFunc support use domain pattern in g.
func (*ConditionalDomainManager) AddLink ¶
func (cdm *ConditionalDomainManager) AddLink(name1 string, name2 string, domains ...string) error
AddLink adds the inheritance link between role: name1 and role: name2. aka role: name1 inherits role: name2.
func (*ConditionalDomainManager) AddLinkConditionFunc ¶
func (cdm *ConditionalDomainManager) AddLinkConditionFunc(userName, roleName string, fn rbac.LinkConditionFunc)
AddLinkConditionFunc is based on userName, roleName, add LinkConditionFunc.
func (*ConditionalDomainManager) DeleteLink ¶
func (cdm *ConditionalDomainManager) DeleteLink(name1 string, name2 string, domains ...string) error
DeleteLink deletes the inheritance link between role: name1 and role: name2. aka role: name1 does not inherit role: name2 any more.
func (*ConditionalDomainManager) GetImplicitRoles ¶
func (cdm *ConditionalDomainManager) GetImplicitRoles(name string, domains ...string) ([]string, error)
func (*ConditionalDomainManager) GetImplicitUsers ¶
func (cdm *ConditionalDomainManager) GetImplicitUsers(name string, domains ...string) ([]string, error)
func (*ConditionalDomainManager) GetRoles ¶
func (cdm *ConditionalDomainManager) GetRoles(name string, domains ...string) ([]string, error)
func (*ConditionalDomainManager) GetUsers ¶
func (cdm *ConditionalDomainManager) GetUsers(name string, domains ...string) ([]string, error)
func (*ConditionalDomainManager) HasLink ¶
func (cdm *ConditionalDomainManager) HasLink(name1 string, name2 string, domains ...string) (bool, error)
HasLink determines whether role: name1 inherits role: name2.
func (*ConditionalDomainManager) SetDomainLinkConditionFuncParams ¶
func (cdm *ConditionalDomainManager) SetDomainLinkConditionFuncParams(userName, roleName, domain string, params ...string)
SetDomainLinkConditionFuncParams sets parameters of LinkConditionFunc based on userName, roleName, domain.
func (*ConditionalDomainManager) SetLinkConditionFuncParams ¶
func (cdm *ConditionalDomainManager) SetLinkConditionFuncParams(userName, roleName string, params ...string)
SetLinkConditionFuncParams sets parameters of LinkConditionFunc based on userName, roleName.
type ConditionalRoleManager ¶
type ConditionalRoleManager struct {
RoleManagerImpl
}
func NewConditionalRoleManager ¶
func NewConditionalRoleManager(maxHierarchyLevel int) *ConditionalRoleManager
NewConditionalRoleManager is the constructor for creating an instance of the ConditionalRoleManager implementation.
func (*ConditionalRoleManager) AddDomainLinkConditionFunc ¶
func (crm *ConditionalRoleManager) AddDomainLinkConditionFunc(userName, roleName, domain string, fn rbac.LinkConditionFunc)
AddDomainLinkConditionFunc is based on userName, roleName, domain, add LinkConditionFunc.
func (*ConditionalRoleManager) AddLinkConditionFunc ¶
func (crm *ConditionalRoleManager) AddLinkConditionFunc(userName, roleName string, fn rbac.LinkConditionFunc)
AddLinkConditionFunc is based on userName, roleName, add LinkConditionFunc.
func (*ConditionalRoleManager) GetDomainLinkConditionFunc ¶
func (crm *ConditionalRoleManager) GetDomainLinkConditionFunc(userName, roleName, domain string) (rbac.LinkConditionFunc, bool)
GetDomainLinkConditionFunc get LinkConditionFunc based on userName, roleName, domain.
func (*ConditionalRoleManager) GetImplicitRoles ¶
func (crm *ConditionalRoleManager) GetImplicitRoles(name string, domain ...string) ([]string, error)
GetImplicitRoles gets the implicit roles that a user inherits, respecting maxHierarchyLevel and link conditions.
func (*ConditionalRoleManager) GetImplicitUsers ¶
func (crm *ConditionalRoleManager) GetImplicitUsers(name string, domain ...string) ([]string, error)
GetImplicitUsers gets the implicit users that inherits a role, respecting maxHierarchyLevel and link conditions.
func (*ConditionalRoleManager) GetLinkConditionFunc ¶
func (crm *ConditionalRoleManager) GetLinkConditionFunc(userName, roleName string) (rbac.LinkConditionFunc, bool)
GetLinkConditionFunc get LinkConditionFunc based on userName, roleName.
func (*ConditionalRoleManager) GetLinkConditionFuncParams ¶
func (crm *ConditionalRoleManager) GetLinkConditionFuncParams(userName, roleName string, domain ...string) ([]string, bool)
GetLinkConditionFuncParams gets parameters of LinkConditionFunc based on userName, roleName, domain.
func (*ConditionalRoleManager) GetRoles ¶
func (crm *ConditionalRoleManager) GetRoles(name string, domains ...string) ([]string, error)
func (*ConditionalRoleManager) GetUsers ¶
func (crm *ConditionalRoleManager) GetUsers(name string, domains ...string) ([]string, error)
func (*ConditionalRoleManager) HasLink ¶
func (crm *ConditionalRoleManager) HasLink(name1 string, name2 string, domains ...string) (bool, error)
HasLink determines whether role: name1 inherits role: name2.
func (*ConditionalRoleManager) SetDomainLinkConditionFuncParams ¶
func (crm *ConditionalRoleManager) SetDomainLinkConditionFuncParams(userName, roleName, domain string, params ...string)
SetDomainLinkConditionFuncParams sets parameters of LinkConditionFunc based on userName, roleName, domain.
func (*ConditionalRoleManager) SetLinkConditionFuncParams ¶
func (crm *ConditionalRoleManager) SetLinkConditionFuncParams(userName, roleName string, params ...string)
SetLinkConditionFuncParams sets parameters of LinkConditionFunc based on userName, roleName, domain.
type DomainManager ¶
type DomainManager struct {
// contains filtered or unexported fields
}
func NewDomainManager ¶
func NewDomainManager(maxHierarchyLevel int) *DomainManager
NewDomainManager is the constructor for creating an instance of the default DomainManager implementation.
func (*DomainManager) AddDomainMatchingFunc ¶
func (dm *DomainManager) AddDomainMatchingFunc(name string, fn rbac.MatchingFunc)
AddDomainMatchingFunc support use domain pattern in g.
func (*DomainManager) AddLink ¶
func (dm *DomainManager) AddLink(name1 string, name2 string, domains ...string) error
AddLink adds the inheritance link between role: name1 and role: name2. aka role: name1 inherits role: name2.
func (*DomainManager) AddMatchingFunc ¶
func (dm *DomainManager) AddMatchingFunc(name string, fn rbac.MatchingFunc)
AddMatchingFunc support use pattern in g.
func (*DomainManager) BuildRelationship
deprecated
func (dm *DomainManager) BuildRelationship(name1 string, name2 string, domain ...string) error
Deprecated: BuildRelationship is no longer required.
func (*DomainManager) Clear ¶
func (dm *DomainManager) Clear() error
Clear clears all stored data and resets the role manager to the initial state.
func (*DomainManager) DeleteDomain ¶
func (dm *DomainManager) DeleteDomain(domain string) error
DeleteDomain deletes the specified domain from DomainManager.
func (*DomainManager) DeleteLink ¶
func (dm *DomainManager) DeleteLink(name1 string, name2 string, domains ...string) error
DeleteLink deletes the inheritance link between role: name1 and role: name2. aka role: name1 does not inherit role: name2 any more.
func (*DomainManager) GetAllDomains ¶
func (dm *DomainManager) GetAllDomains() ([]string, error)
GetAllDomains gets all domains.
func (*DomainManager) GetDomains ¶
func (dm *DomainManager) GetDomains(name string) ([]string, error)
GetDomains gets domains that a user has.
func (*DomainManager) GetImplicitRoles ¶
func (dm *DomainManager) GetImplicitRoles(name string, domains ...string) ([]string, error)
GetImplicitRoles gets the implicit roles that a subject inherits, respecting maxHierarchyLevel.
func (*DomainManager) GetImplicitUsers ¶
func (dm *DomainManager) GetImplicitUsers(name string, domains ...string) ([]string, error)
GetImplicitUsers gets the implicit users that inherits a role, respecting maxHierarchyLevel.
func (*DomainManager) GetRoles ¶
func (dm *DomainManager) GetRoles(name string, domains ...string) ([]string, error)
GetRoles gets the roles that a subject inherits.
func (*DomainManager) GetUsers ¶
func (dm *DomainManager) GetUsers(name string, domains ...string) ([]string, error)
GetUsers gets the users of a role.
func (*DomainManager) PrintRoles ¶
func (dm *DomainManager) PrintRoles() error
PrintRoles prints all the roles to log.
type Role ¶
type Role struct {
// contains filtered or unexported fields
}
Role represents the data structure for a role in RBAC.
type RoleManager ¶
type RoleManager struct {
*DomainManager
}
func NewRoleManager ¶
func NewRoleManager(maxHierarchyLevel int) *RoleManager
type RoleManagerImpl ¶
type RoleManagerImpl struct {
// contains filtered or unexported fields
}
RoleManagerImpl provides a default implementation for the RoleManager interface.
func NewRoleManagerImpl ¶
func NewRoleManagerImpl(maxHierarchyLevel int) *RoleManagerImpl
NewRoleManagerImpl is the constructor for creating an instance of the default RoleManager implementation.
func (*RoleManagerImpl) AddDomainMatchingFunc ¶
func (rm *RoleManagerImpl) AddDomainMatchingFunc(name string, fn rbac.MatchingFunc)
AddDomainMatchingFunc support use domain pattern in g.
func (*RoleManagerImpl) AddLink ¶
func (rm *RoleManagerImpl) AddLink(name1 string, name2 string, domains ...string) error
AddLink adds the inheritance link between role: name1 and role: name2. aka role: name1 inherits role: name2.
func (*RoleManagerImpl) AddMatchingFunc ¶
func (rm *RoleManagerImpl) AddMatchingFunc(name string, fn rbac.MatchingFunc)
AddMatchingFunc support use pattern in g.
func (*RoleManagerImpl) BuildRelationship
deprecated
func (rm *RoleManagerImpl) BuildRelationship(name1 string, name2 string, domain ...string) error
Deprecated: BuildRelationship is no longer required.
func (*RoleManagerImpl) Clear ¶
func (rm *RoleManagerImpl) Clear() error
Clear clears all stored data and resets the role manager to the initial state.
func (*RoleManagerImpl) DeleteDomain ¶
func (rm *RoleManagerImpl) DeleteDomain(domain string) error
DeleteDomain does nothing for RoleManagerImpl (no domain concept).
func (*RoleManagerImpl) DeleteLink ¶
func (rm *RoleManagerImpl) DeleteLink(name1 string, name2 string, domains ...string) error
DeleteLink deletes the inheritance link between role: name1 and role: name2. aka role: name1 does not inherit role: name2 any more.
func (*RoleManagerImpl) GetAllDomains ¶
func (rm *RoleManagerImpl) GetAllDomains() ([]string, error)
GetAllDomains gets all domains.
func (*RoleManagerImpl) GetDomains ¶
func (rm *RoleManagerImpl) GetDomains(name string) ([]string, error)
GetDomains gets domains that a user has.
func (*RoleManagerImpl) GetImplicitRoles ¶
func (rm *RoleManagerImpl) GetImplicitRoles(name string, domain ...string) ([]string, error)
GetImplicitRoles gets the implicit roles that a user inherits, respecting maxHierarchyLevel.
func (*RoleManagerImpl) GetImplicitUsers ¶
func (rm *RoleManagerImpl) GetImplicitUsers(name string, domain ...string) ([]string, error)
GetImplicitUsers gets the implicit users that inherits a role, respecting maxHierarchyLevel.
func (*RoleManagerImpl) GetRoles ¶
func (rm *RoleManagerImpl) GetRoles(name string, domains ...string) ([]string, error)
GetRoles gets the roles that a user inherits.
func (*RoleManagerImpl) GetUsers ¶
func (rm *RoleManagerImpl) GetUsers(name string, domain ...string) ([]string, error)
GetUsers gets the users of a role. domain is an unreferenced parameter here, may be used in other implementations.
func (*RoleManagerImpl) PrintRoles ¶
func (rm *RoleManagerImpl) PrintRoles() error
PrintRoles prints all the roles to log.