authorization

package
v0.0.0-...-ecb8d70 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2025 License: MIT Imports: 16 Imported by: 4

Documentation

Index

Constants

View Source
const ObjectNone = "-"
View Source
const ServiceName = "github.com/nasermirzaei89/services/authorization"

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessDeniedError

type AccessDeniedError struct {
	Subject string
	Domain  string
	Object  string
	Action  string
}

func (AccessDeniedError) Error

func (err AccessDeniedError) Error() string

type AddPolicyRequest

type AddPolicyRequest struct {
	Subject string
	Domain  string
	Object  string
	Action  string
}

type CasbinSlogLogger

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

CasbinSlogLogger is a wrapper to use slog.Logger with Casbin.

func NewCasbinSlogLogger

func NewCasbinSlogLogger(logger *slog.Logger) *CasbinSlogLogger

NewCasbinSlogLogger creates a new adapter for Casbin with slog.Logger.

func (*CasbinSlogLogger) EnableLog

func (l *CasbinSlogLogger) EnableLog(enable bool)

func (*CasbinSlogLogger) IsEnabled

func (l *CasbinSlogLogger) IsEnabled() bool

func (*CasbinSlogLogger) LogEnforce

func (l *CasbinSlogLogger) LogEnforce(matcher string, request []interface{}, result bool, explains [][]string)

func (*CasbinSlogLogger) LogError

func (l *CasbinSlogLogger) LogError(err error, msg ...string)

func (*CasbinSlogLogger) LogModel

func (l *CasbinSlogLogger) LogModel(model [][]string)

func (*CasbinSlogLogger) LogPolicy

func (l *CasbinSlogLogger) LogPolicy(policy map[string][][]string)

func (*CasbinSlogLogger) LogRole

func (l *CasbinSlogLogger) LogRole(roles []string)

type CheckAccessRequest

type CheckAccessRequest struct {
	Subject string
	Domain  string
	Object  string
	Action  string
}

type RemovePolicyRequest

type RemovePolicyRequest struct {
	Subject string
	Domain  string
	Object  string
	Action  string
}

type Service

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

func NewService

func NewService(sqlDB *sql.DB) (*Service, error)

func (*Service) AddPolicy

func (svc *Service) AddPolicy(ctx context.Context, reqs ...AddPolicyRequest) error

func (*Service) AddPolicyFromCSV

func (svc *Service) AddPolicyFromCSV(ctx context.Context, casbinPolicyContent string) error

func (*Service) AddToGroup

func (svc *Service) AddToGroup(ctx context.Context, sub string, groups ...string) error

func (*Service) CheckAccess

func (svc *Service) CheckAccess(ctx context.Context, req CheckAccessRequest) error

func (*Service) RemoveFromGroup

func (svc *Service) RemoveFromGroup(ctx context.Context, sub string, groups ...string) error

func (*Service) RemovePolicy

func (svc *Service) RemovePolicy(ctx context.Context, reqs ...RemovePolicyRequest) error

Jump to

Keyboard shortcuts

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