defaultrolemanager

package
v2.39.1 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2021 License: Apache-2.0 Imports: 5 Imported by: 21

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MatchingFunc

type MatchingFunc func(arg1, arg2 string) bool

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 {
	// contains filtered or unexported fields
}

RoleManager provides a default implementation for the RoleManager interface

func NewRoleManager

func NewRoleManager(maxHierarchyLevel int) *RoleManager

NewRoleManager is the constructor for creating an instance of the default RoleManager implementation.

func (*RoleManager) AddDomainMatchingFunc added in v2.7.0

func (rm *RoleManager) AddDomainMatchingFunc(name string, fn MatchingFunc)

AddDomainMatchingFunc support use domain pattern in g

func (rm *RoleManager) 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 (*RoleManager) AddMatchingFunc

func (rm *RoleManager) AddMatchingFunc(name string, fn MatchingFunc)

AddMatchingFunc support use pattern in g

func (*RoleManager) BuildRelationship added in v2.36.0

func (rm *RoleManager) BuildRelationship(name1, name2 string, domains ...string) error

func (*RoleManager) Clear

func (rm *RoleManager) Clear() error

Clear clears all stored data and resets the role manager to the initial state.

func (rm *RoleManager) 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 (*RoleManager) GetDomains added in v2.26.0

func (rm *RoleManager) GetDomains(name string) ([]string, error)

GetDomains gets domains that a user has

func (*RoleManager) GetRoles

func (rm *RoleManager) GetRoles(name string, domains ...string) ([]string, error)

GetRoles gets the roles that a subject inherits.

func (*RoleManager) GetUsers

func (rm *RoleManager) GetUsers(name string, domain ...string) ([]string, error)

GetUsers gets the users that inherits a subject. domain is an unreferenced parameter here, may be used in other implementations.

func (rm *RoleManager) HasLink(name1 string, name2 string, domains ...string) (bool, error)

HasLink determines whether role: name1 inherits role: name2.

func (*RoleManager) PrintRoles

func (rm *RoleManager) PrintRoles() error

PrintRoles prints all the roles to log.

func (*RoleManager) SetLogger added in v2.16.0

func (rm *RoleManager) SetLogger(logger log.Logger)

SetLogger sets role manager's logger.

type Roles added in v2.7.0

type Roles struct {
	sync.Map
}

Roles represents all roles in a domain

Jump to

Keyboard shortcuts

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