auth

package
v0.0.0-...-b1f09d4 Latest Latest
Warning

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

Go to latest
Published: May 22, 2018 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Base on https://github.com/martini-contrib/sessionauth

Index

Constants

View Source
const (
	DefaultKey = "github.com/foxiswho/echo-go/modules/auth"
)
View Source
const MODULE_ADMIN = "admin"
View Source
const MODULE_USER = "user"

模块

Variables

View Source
var (
	// RedirectUrl should be the relative URL for your login route
	RedirectUrl string = "/login"

	// RedirectParam is the query string parameter that will be set
	// with the page the user_service was trying to visit before they were
	// intercepted.
	RedirectParam string = "return_url"

	// SessionKey is the key containing the unique ID in your session
	SessionKey string = "AUTHUNIQUEID"
)

Functions

func AuthenticateSession

func AuthenticateSession(s session.Session, user User) error

AuthenticateSession will mark the session and user_service object as authenticated. Then the Login() user_service function will be called. This function should be called after you have validated a user_service.

func LoginRequired

func LoginRequired() echo.MiddlewareFunc

LoginRequired verifies that the current user_service is authenticated. Any routes that require a login should have this handler placed in the flow. If the user_service is not authenticated, they will be redirected to /login with the "next" get parameter set to the attempted URL.

func Logout

func Logout(s session.Session, user User)

Logout will clear out the session and call the Logout() user_service function.

func New

func New(newUser func() User) echo.MiddlewareFunc

func UpdateUser

func UpdateUser(s session.Session, user User) error

UpdateUser updates the Admin object stored in the session. This is useful incase a change is made to the user_service model that needs to persist across requests.

Types

type Auth

type Auth struct {
	User
}

func Default

func Default(c echo.Context) Auth

shortcut to get Auth

func (Auth) LogoutTest

func (a Auth) LogoutTest(s session.Session)

type User

type User interface {
	// Return whether this user_service is logged in or not
	IsAuthenticated() bool

	// Set any flags or extra data that should be available
	Login()

	// Clear any sensitive data out of the user_service
	Logout()

	// Return the unique identifier of this user_service object
	UniqueId() interface{}

	RoleId() int

	// Populate this user_service object with values
	GetById(id interface{}) error

	Module() string
}

Jump to

Keyboard shortcuts

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