access

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Middleware

func Middleware(manager *AccessManager, logger logging.Logger) echo.MiddlewareFunc

Middleware creates a new access control middleware

Types

type AccessChecker added in v0.2.0

type AccessChecker interface {
	CanAccess(c echo.Context) bool
}

AccessChecker defines the interface for checking access

type AccessLevel added in v0.2.0

type AccessLevel int

AccessLevel represents the level of access required for a route

const (
	// PublicAccess means no authentication required
	PublicAccess AccessLevel = iota
	// AuthenticatedAccess means user must be authenticated
	AuthenticatedAccess
	// AdminAccess means user must be an admin
	AdminAccess
)

type AccessManager added in v0.2.0

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

AccessManager manages access control rules

func NewAccessManager added in v0.2.0

func NewAccessManager(rules []AccessRule) *AccessManager

NewAccessManager creates a new access manager

func (*AccessManager) AddRule added in v0.2.0

func (am *AccessManager) AddRule(rule AccessRule)

AddRule adds a new access rule

func (*AccessManager) GetRequiredAccess added in v0.2.0

func (am *AccessManager) GetRequiredAccess(path, method string) AccessLevel

GetRequiredAccess returns the required access level for a path and method

type AccessRule added in v0.2.0

type AccessRule struct {
	Path        string
	AccessLevel AccessLevel
	Methods     []string // If empty, applies to all methods
}

AccessRule defines a rule for route access

func DefaultRules

func DefaultRules() []AccessRule

DefaultRules returns the default access rules for the application

Jump to

Keyboard shortcuts

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