filter

package
v1.8.6-rc1 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2019 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetProjectManager

func GetProjectManager(req *http.Request) (promgr.ProjectManager, error)

GetProjectManager tries to get project manager from request and returns it

func GetSecurityContext

func GetSecurityContext(req *http.Request) (security.Context, error)

GetSecurityContext tries to get security context from request and returns it

func Init

func Init()

Init ReqCtxMofiers list

func MediaTypeFilter

func MediaTypeFilter(mediaType ...string) func(*beegoctx.Context)

MediaTypeFilter filters the POST request, it returns 415 if the content type of the request doesn't match the preset ones.

func ReadonlyFilter

func ReadonlyFilter(ctx *context.Context)

ReadonlyFilter filters the deletion or creation (e.g. retag) of repo/tag requests and returns 503.

func ReqCarriesSession added in v1.8.5

func ReqCarriesSession(req *http.Request) bool

ReqCarriesSession verifies if the request carries session when

func SecurityFilter

func SecurityFilter(ctx *beegoctx.Context)

SecurityFilter authenticates the request and passes a security context and a project manager with it which can be used to do some authN & authZ

func SessionCheck added in v1.8.5

func SessionCheck(ctx *beegoctx.Context)

SessionCheck is a filter to mark the requests that carries a session id, it has to be registered as "beego.BeforeStatic" because beego will modify the request after execution of these filters, all requests will appear to have a session id cookie.

Types

type ContextValueKey

type ContextValueKey string

ContextValueKey for content value

const (
	// SecurCtxKey is context value key for security context
	SecurCtxKey ContextValueKey = "harbor_security_context"

	// PmKey is context value key for the project manager
	PmKey ContextValueKey = "harbor_project_manager"
	// AuthModeKey is context key for auth mode
	AuthModeKey ContextValueKey = "harbor_auth_mode"
)
const SessionReqKey ContextValueKey = "harbor_with_session_req"

SessionReqKey is the key in the context of a request to mark the request carries session when reaching the backend

type ReqCtxModifier

type ReqCtxModifier interface {
	Modify(*beegoctx.Context) bool
}

ReqCtxModifier modifies the context of request

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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