Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // DefaultConfig is the default CasbinAuth middleware config. DefaultConfig = Config{ Skipper: middleware.DefaultSkipper, UserGetter: func(c echo.Context) (string, error) { username, _, _ := c.Request().BasicAuth() return username, nil }, ErrorHandler: func(c echo.Context, internal error, proposedStatus int) error { err := echo.NewHTTPError(proposedStatus, internal.Error()) err.Internal = internal return err }, } )
Functions ¶
func Middleware ¶
func Middleware(ce *casbin.Enforcer) echo.MiddlewareFunc
Middleware returns a CasbinAuth middleware.
For valid credentials it calls the next handler. For missing or invalid credentials, it sends "401 - Unauthorized" response.
func MiddlewareWithConfig ¶
func MiddlewareWithConfig(config Config) echo.MiddlewareFunc
MiddlewareWithConfig returns a CasbinAuth middleware with config. See `Middleware()`.
Types ¶
type Config ¶
type Config struct { // Skipper defines a function to skip middleware. Skipper middleware.Skipper // Enforcer CasbinAuth main rule. // One of Enforcer or EnforceHandler fields is required. Enforcer *casbin.Enforcer // EnforceHandler is custom callback to handle enforcing. // One of Enforcer or EnforceHandler fields is required. EnforceHandler func(c echo.Context, user string) (bool, error) // Method to get the username - defaults to using basic auth UserGetter func(c echo.Context) (string, error) // Method to handle errors ErrorHandler func(c echo.Context, internal error, proposedStatus int) error }
Config defines the config for CasbinAuth middleware.
Click to show internal directories.
Click to hide internal directories.