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
Click to show internal directories.
Click to hide internal directories.