rbac

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package rbac provides role-based access control

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Permission

type Permission string

Permission represents a permission

const (
	PermRead   Permission = "read"
	PermWrite  Permission = "write"
	PermDelete Permission = "delete"
	PermAdmin  Permission = "admin"
)

type RBAC

type RBAC struct {
	// contains filtered or unexported fields
}

RBAC manages role-based access control

func NewRBAC

func NewRBAC() *RBAC

NewRBAC creates a new RBAC manager

func (*RBAC) AssignRole

func (r *RBAC) AssignRole(userID string, role Role) error

AssignRole assigns a role to a user

func (*RBAC) CheckPermission

func (r *RBAC) CheckPermission(userID string, resource Resource, permission Permission) bool

CheckPermission checks if a user has a permission

func (*RBAC) GetUserRole

func (r *RBAC) GetUserRole(userID string) (Role, bool)

GetUserRole returns a user's role

func (*RBAC) ListUsers

func (r *RBAC) ListUsers() map[string]Role

ListUsers returns all users with their roles

func (*RBAC) RemoveUser

func (r *RBAC) RemoveUser(userID string)

RemoveUser removes a user

type Resource

type Resource string

Resource represents a resource type

const (
	ResourceBenchmarks  Resource = "benchmarks"
	ResourceStressTests Resource = "stress_tests"
	ResourceCostData    Resource = "cost_data"
	ResourceAlerts      Resource = "alerts"
	ResourceTeams       Resource = "teams"
	ResourceConfig      Resource = "config"
)

type Role

type Role string

Role represents a user role

const (
	RoleAdmin     Role = "admin"
	RoleManager   Role = "manager"
	RoleDeveloper Role = "developer"
	RoleViewer    Role = "viewer"
)

Jump to

Keyboard shortcuts

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