defaultrolemanager

package
v3.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

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 (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 (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 (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 (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 (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 (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 (dm *DomainManager) HasLink(name1 string, name2 string, domains ...string) (bool, error)

HasLink determines whether role: name1 inherits role: name2.

func (*DomainManager) Match

func (dm *DomainManager) Match(str string, pattern string) bool

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 (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 (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 (rm *RoleManagerImpl) HasLink(name1 string, name2 string, domains ...string) (bool, error)

HasLink determines whether role: name1 inherits role: name2.

func (*RoleManagerImpl) Match

func (rm *RoleManagerImpl) Match(str string, pattern string) bool

func (*RoleManagerImpl) PrintRoles

func (rm *RoleManagerImpl) PrintRoles() error

PrintRoles prints all the roles to log.

func (*RoleManagerImpl) Range

func (rm *RoleManagerImpl) Range(fn func(name1, name2 string, domain ...string) bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL