kasbin

package module
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2024 License: MIT Imports: 8 Imported by: 0

README

kasbin

casbin middleware for kratos

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrEnforcerContextCreatorMissing = errors.Forbidden(reason, "EnforcerContextCreator is required")
	ErrModelMissing                  = errors.Forbidden(reason, "Model is missing")
	ErrEnforcerMissing               = errors.Forbidden(reason, "Enforcer is missing")
	ErrParseContextFailed            = errors.Forbidden(reason, "Parse Context Failed")
	ErrUnauthorized                  = errors.Forbidden(reason, "Unauthorized Access")
)

Functions

func Client

func Client(opts ...Option) middleware.Middleware

func Server

func Server(opts ...Option) middleware.Middleware

Types

type AutoLoadPolicyOpt

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

type EnforcerContextCreator

type EnforcerContextCreator interface {
	// ParseContext Parse Context info from http
	ParseContext(ctx context.Context) error
	// GetEnforcerContext Call the EnforcerContextProviders by order and return its result
	// for std rbac should be subject ,object, action
	// for rbac with domain should be  subject,domain, object, action
	GetEnforcerContext() []interface{}
}

func EnforceContextCreatorFromContext

func EnforceContextCreatorFromContext(ctx context.Context) (EnforcerContextCreator, bool)

type EnforcerContextProvider

type EnforcerContextProvider func() interface{}

type EnforcerCtxCreatorOpt

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

type EnforcerOpt

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

type ModelOpt

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

type Option

type Option interface {
	// contains filtered or unexported methods
}

func UseBuiltinRBACIfModelUnset

func UseBuiltinRBACIfModelUnset(flag bool) Option

UseBuiltinRBACIfModelUnset 当RBAC模型未设置时,使用内建RBAC模型

func WithAutoLoadPolicy

func WithAutoLoadPolicy(interval time.Duration) Option

WithAutoLoadPolicy 使用Policy自动加载

func WithEnforcer

func WithEnforcer(e *casbin.SyncedEnforcer) Option

WithEnforcer 使用Enforcer

func WithEnforcerContextCreator

func WithEnforcerContextCreator(c EnforcerContextCreator) Option

WithEnforcerContextCreator 使用EnforcerContextCreator实现

func WithModel

func WithModel(m model.Model) Option

WithModel 使用Model

func WithPolicy

func WithPolicy(p persist.Adapter) Option

WithPolicy 使用Policy

func WithWatcher

func WithWatcher(watcher persist.Watcher) Option

WithWatcher 使用Watcher

type PolicyOpt

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

type UseBuiltinFlagOpt

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

type WatcherOpt

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

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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