Documentation ¶
Index ¶
- type ConditionalDomainManager
- func (cdm *ConditionalDomainManager) AddDomainLinkConditionFunc(userName, roleName, domain string, fn rbac.LinkConditionFunc)
- 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) 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) GetLinkConditionFunc(userName, roleName string) (rbac.LinkConditionFunc, bool)
- func (crm *ConditionalRoleManager) GetLinkConditionFuncParams(userName, roleName string, domain ...string) ([]string, bool)
- 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) 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) 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
- func (dm *DomainManager) SetLogger(logger log.Logger)
- 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) 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) 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)
- func (rm *RoleManagerImpl) SetLogger(logger log.Logger)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConditionalDomainManager ¶ added in v2.75.0
type ConditionalDomainManager struct { ConditionalRoleManager DomainManager }
func NewConditionalDomainManager ¶ added in v2.75.0
func NewConditionalDomainManager(maxHierarchyLevel int) *ConditionalDomainManager
NewConditionalDomainManager is the constructor for creating an instance of the ConditionalDomainManager implementation.
func (*ConditionalDomainManager) AddDomainLinkConditionFunc ¶ added in v2.75.0
func (cdm *ConditionalDomainManager) AddDomainLinkConditionFunc(userName, roleName, domain string, fn rbac.LinkConditionFunc)
AddDomainLinkConditionFunc is based on userName, roleName, domain, add LinkConditionFunc.
func (*ConditionalDomainManager) AddLink ¶ added in v2.75.0
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 ¶ added in v2.75.0
func (cdm *ConditionalDomainManager) AddLinkConditionFunc(userName, roleName string, fn rbac.LinkConditionFunc)
AddLinkConditionFunc is based on userName, roleName, add LinkConditionFunc.
func (*ConditionalDomainManager) DeleteLink ¶ added in v2.75.0
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) HasLink ¶ added in v2.75.0
func (cdm *ConditionalDomainManager) HasLink(name1 string, name2 string, domains ...string) (bool, error)
HasLink determines whether role: name1 inherits role: name2.
func (*ConditionalDomainManager) SetDomainLinkConditionFuncParams ¶ added in v2.75.0
func (cdm *ConditionalDomainManager) SetDomainLinkConditionFuncParams(userName, roleName, domain string, params ...string)
SetDomainLinkConditionFuncParams sets parameters of LinkConditionFunc based on userName, roleName, domain.
func (*ConditionalDomainManager) SetLinkConditionFuncParams ¶ added in v2.75.0
func (cdm *ConditionalDomainManager) SetLinkConditionFuncParams(userName, roleName string, params ...string)
SetLinkConditionFuncParams sets parameters of LinkConditionFunc based on userName, roleName.
type ConditionalRoleManager ¶ added in v2.75.0
type ConditionalRoleManager struct {
RoleManagerImpl
}
func NewConditionalRoleManager ¶ added in v2.75.0
func NewConditionalRoleManager(maxHierarchyLevel int) *ConditionalRoleManager
NewConditionalRoleManager is the constructor for creating an instance of the ConditionalRoleManager implementation.
func (*ConditionalRoleManager) AddDomainLinkConditionFunc ¶ added in v2.75.0
func (crm *ConditionalRoleManager) AddDomainLinkConditionFunc(userName, roleName, domain string, fn rbac.LinkConditionFunc)
AddDomainLinkConditionFunc is based on userName, roleName, domain, add LinkConditionFunc.
func (*ConditionalRoleManager) AddLinkConditionFunc ¶ added in v2.75.0
func (crm *ConditionalRoleManager) AddLinkConditionFunc(userName, roleName string, fn rbac.LinkConditionFunc)
AddLinkConditionFunc is based on userName, roleName, add LinkConditionFunc.
func (*ConditionalRoleManager) GetDomainLinkConditionFunc ¶ added in v2.75.0
func (crm *ConditionalRoleManager) GetDomainLinkConditionFunc(userName, roleName, domain string) (rbac.LinkConditionFunc, bool)
GetDomainLinkConditionFunc get LinkConditionFunc based on userName, roleName, domain.
func (*ConditionalRoleManager) GetLinkConditionFunc ¶ added in v2.75.0
func (crm *ConditionalRoleManager) GetLinkConditionFunc(userName, roleName string) (rbac.LinkConditionFunc, bool)
GetLinkConditionFunc get LinkConditionFunc based on userName, roleName.
func (*ConditionalRoleManager) GetLinkConditionFuncParams ¶ added in v2.75.0
func (crm *ConditionalRoleManager) GetLinkConditionFuncParams(userName, roleName string, domain ...string) ([]string, bool)
GetLinkConditionFuncParams gets parameters of LinkConditionFunc based on userName, roleName, domain.
func (*ConditionalRoleManager) HasLink ¶ added in v2.75.0
func (crm *ConditionalRoleManager) HasLink(name1 string, name2 string, domains ...string) (bool, error)
HasLink determines whether role: name1 inherits role: name2.
func (*ConditionalRoleManager) SetDomainLinkConditionFuncParams ¶ added in v2.75.0
func (crm *ConditionalRoleManager) SetDomainLinkConditionFuncParams(userName, roleName, domain string, params ...string)
SetDomainLinkConditionFuncParams sets parameters of LinkConditionFunc based on userName, roleName, domain.
func (*ConditionalRoleManager) SetLinkConditionFuncParams ¶ added in v2.75.0
func (crm *ConditionalRoleManager) SetLinkConditionFuncParams(userName, roleName string, params ...string)
SetLinkConditionFuncParams sets parameters of LinkConditionFunc based on userName, roleName, domain.
type DomainManager ¶ added in v2.43.2
type DomainManager struct {
// contains filtered or unexported fields
}
func NewDomainManager ¶ added in v2.43.2
func NewDomainManager(maxHierarchyLevel int) *DomainManager
NewDomainManager is the constructor for creating an instance of the default DomainManager implementation.
func (*DomainManager) AddDomainMatchingFunc ¶ added in v2.43.2
func (dm *DomainManager) AddDomainMatchingFunc(name string, fn rbac.MatchingFunc)
AddDomainMatchingFunc support use domain pattern in g.
func (*DomainManager) AddLink ¶ added in v2.43.2
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 ¶ added in v2.43.2
func (dm *DomainManager) AddMatchingFunc(name string, fn rbac.MatchingFunc)
AddMatchingFunc support use pattern in g.
func (*DomainManager) BuildRelationship
deprecated
added in
v2.43.2
func (dm *DomainManager) BuildRelationship(name1 string, name2 string, domain ...string) error
Deprecated: BuildRelationship is no longer required.
func (*DomainManager) Clear ¶ added in v2.43.2
func (dm *DomainManager) Clear() error
Clear clears all stored data and resets the role manager to the initial state.
func (*DomainManager) DeleteLink ¶ added in v2.43.2
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 ¶ added in v2.43.2
func (dm *DomainManager) GetAllDomains() ([]string, error)
GetAllDomains gets all domains.
func (*DomainManager) GetDomains ¶ added in v2.43.2
func (dm *DomainManager) GetDomains(name string) ([]string, error)
GetDomains gets domains that a user has.
func (*DomainManager) GetRoles ¶ added in v2.43.2
func (dm *DomainManager) GetRoles(name string, domains ...string) ([]string, error)
GetRoles gets the roles that a subject inherits.
func (*DomainManager) GetUsers ¶ added in v2.43.2
func (dm *DomainManager) GetUsers(name string, domains ...string) ([]string, error)
GetUsers gets the users of a role.
func (*DomainManager) HasLink ¶ added in v2.43.2
HasLink determines whether role: name1 inherits role: name2.
func (*DomainManager) Match ¶ added in v2.50.0
func (dm *DomainManager) Match(str string, pattern string) bool
func (*DomainManager) PrintRoles ¶ added in v2.43.2
func (dm *DomainManager) PrintRoles() error
PrintRoles prints all the roles to log.
func (*DomainManager) SetLogger ¶ added in v2.43.2
func (dm *DomainManager) SetLogger(logger log.Logger)
SetLogger sets role manager's logger.
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 ¶ added in v2.43.2
type RoleManagerImpl struct {
// contains filtered or unexported fields
}
RoleManagerImpl provides a default implementation for the RoleManager interface.
func NewRoleManagerImpl ¶ added in v2.43.2
func NewRoleManagerImpl(maxHierarchyLevel int) *RoleManagerImpl
NewRoleManagerImpl is the constructor for creating an instance of the default RoleManager implementation.
func (*RoleManagerImpl) AddDomainMatchingFunc ¶ added in v2.43.2
func (rm *RoleManagerImpl) AddDomainMatchingFunc(name string, fn rbac.MatchingFunc)
AddDomainMatchingFunc support use domain pattern in g.
func (*RoleManagerImpl) AddLink ¶ added in v2.43.2
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 ¶ added in v2.43.2
func (rm *RoleManagerImpl) AddMatchingFunc(name string, fn rbac.MatchingFunc)
AddMatchingFunc support use pattern in g.
func (*RoleManagerImpl) BuildRelationship
deprecated
added in
v2.43.2
func (rm *RoleManagerImpl) BuildRelationship(name1 string, name2 string, domain ...string) error
Deprecated: BuildRelationship is no longer required.
func (*RoleManagerImpl) Clear ¶ added in v2.43.2
func (rm *RoleManagerImpl) Clear() error
Clear clears all stored data and resets the role manager to the initial state.
func (*RoleManagerImpl) DeleteLink ¶ added in v2.43.2
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 ¶ added in v2.43.2
func (rm *RoleManagerImpl) GetAllDomains() ([]string, error)
GetAllDomains gets all domains.
func (*RoleManagerImpl) GetDomains ¶ added in v2.43.2
func (rm *RoleManagerImpl) GetDomains(name string) ([]string, error)
GetDomains gets domains that a user has.
func (*RoleManagerImpl) GetRoles ¶ added in v2.43.2
func (rm *RoleManagerImpl) GetRoles(name string, domains ...string) ([]string, error)
GetRoles gets the roles that a user inherits.
func (*RoleManagerImpl) GetUsers ¶ added in v2.43.2
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) HasLink ¶ added in v2.43.2
HasLink determines whether role: name1 inherits role: name2.
func (*RoleManagerImpl) Match ¶ added in v2.50.0
func (rm *RoleManagerImpl) Match(str string, pattern string) bool
func (*RoleManagerImpl) PrintRoles ¶ added in v2.43.2
func (rm *RoleManagerImpl) PrintRoles() error
PrintRoles prints all the roles to log.
func (*RoleManagerImpl) Range ¶ added in v2.43.2
func (rm *RoleManagerImpl) Range(fn func(name1, name2 string, domain ...string) bool)
func (*RoleManagerImpl) SetLogger ¶ added in v2.43.2
func (rm *RoleManagerImpl) SetLogger(logger log.Logger)
SetLogger sets role manager's logger.