casbinmw

package
v0.0.0-...-9b07b7c Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2019 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Adapter

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

Adapter represents the Gorm adapter for policy storage.

func NewAdapter

func NewAdapter(db *gorm.DB) *Adapter

NewAdapter is the constructor for Adapter. dbSpecified is an optional bool parameter. The default value is false. It's up to whether you have specified an existing DB in dataSourceName. If dbSpecified == true, you need to make sure the DB in dataSourceName exists. If dbSpecified == false, the adapter will automatically create a DB named "casbin".

func (*Adapter) AddPolicy

func (a *Adapter) AddPolicy(sec string, ptype string, rule []string) error

AddPolicy adds a policy rule to the storage.

func (*Adapter) LoadPolicy

func (a *Adapter) LoadPolicy(model model.Model) error

LoadPolicy loads policy from database.

func (*Adapter) RemoveFilteredPolicy

func (a *Adapter) RemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) error

RemoveFilteredPolicy removes policy rules that match the filter from the storage.

func (*Adapter) RemovePolicy

func (a *Adapter) RemovePolicy(sec string, ptype string, rule []string) error

RemovePolicy removes a policy rule from the storage.

func (*Adapter) SavePolicy

func (a *Adapter) SavePolicy(model model.Model) error

SavePolicy saves policy to database.

type Casbinauth

type Casbinauth struct {
	// Skipper defines a function to skip middleware.
	Skipper middleware.Skipper

	// Enforcer Casbinauth main rule.
	// Required.
	Enforcer *casbin.Enforcer
}

Casbinauth defines the config for Casbinauth middleware.

func New

func New(ce *casbin.Enforcer) *Casbinauth

New generates new Casbin service necessery for auth middleware

func (*Casbinauth) CheckPermission

func (a *Casbinauth) CheckPermission(c echo.Context) bool

CheckPermission checks the user/method/path combination from the request. Returns true (permission granted) or false (permission forbidden)

func (*Casbinauth) GetUserName

func (a *Casbinauth) GetUserName(c echo.Context) string

GetUserName gets the user name from the request. Currently, only HTTP basic authentication is supported

func (*Casbinauth) MWFunc

func (a *Casbinauth) MWFunc() echo.MiddlewareFunc

MWFunc returns a Casbinauth middleware.

For valid credentials it calls the next handler. For missing or invalid credentials, it sends "401 - Unauthorized" response.

Jump to

Keyboard shortcuts

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