auth

package
v1.1.9 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2019 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultCookieKey = "go_admin_session"

Variables

This section is empty.

Functions

func Auth added in v1.1.4

func Auth(ctx *context.Context) models.UserModel

Auth get the user model from Context.

func Check

func Check(password string, username string, conn db.Connection) (user models.UserModel, ok bool)

Check check the password and username and return the user model.

func CheckPermissions

func CheckPermissions(user models.UserModel, path string, method string) bool

CheckPermissions check the permission of the user.

func DelCookie

func DelCookie(ctx *context.Context, conn db.Connection) bool

DelCookie delete the cookie from Context.

func EncodePassword

func EncodePassword(pwd []byte) string

EncodePassword encode the password.

func Filter

func Filter(ctx *context.Context, conn db.Connection) (models.UserModel, bool, bool)

Filter retrieve the user model from Context and check the permission at the same time.

func GetCurUser added in v1.1.4

func GetCurUser(sesKey string, conn db.Connection) (user models.UserModel, ok bool)

GetCurUser return the user model.

func GetCurUserByID added in v1.1.4

func GetCurUserByID(id int64, conn db.Connection) (user models.UserModel, ok bool)

GetCurUserByID return the user model of given user id.

func GetSessionByKey added in v1.1.4

func GetSessionByKey(sesKey, key string, conn db.Connection) interface{}

GetSessionByKey get the session value by key.

func GetUserID added in v1.1.4

func GetUserID(sesKey string, conn db.Connection) int64

GetUserID return the user id from the session.

func Middleware added in v1.1.4

func Middleware(conn db.Connection) context.Handler

Middleware is the default auth middleware of plugins.

func SetCookie

func SetCookie(ctx *context.Context, user models.UserModel, conn db.Connection) bool

SetCookie set the cookie.

Types

type CSRFToken

type CSRFToken []string

CSRFToken is type of a csrf token list.

type Config

type Config struct {
	Expires time.Duration
	Cookie  string
}

Config wraps the Session info.

type DBDriver added in v1.1.4

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

DBDriver is a driver which uses database as a persistence tool.

func (*DBDriver) Load added in v1.1.4

func (driver *DBDriver) Load(sid string) map[string]interface{}

Load implements the PersistenceDriver.Load.

func (*DBDriver) Update added in v1.1.4

func (driver *DBDriver) Update(sid string, values map[string]interface{})

Update implements the PersistenceDriver.Update.

type Invoker

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

Invoker contains the callback functions which are used in the route middleware.

func DefaultInvoker added in v1.1.4

func DefaultInvoker(conn db.Connection) *Invoker

DefaultInvoker return a default Invoker.

func SetPrefix

func SetPrefix(prefix string, conn db.Connection) *Invoker

SetPrefix return the default Invoker with the given prefix.

func (*Invoker) Middleware

func (invoker *Invoker) Middleware() context.Handler

Middleware get the auth middleware from Invoker.

func (*Invoker) SetAuthFailCallback

func (invoker *Invoker) SetAuthFailCallback(callback MiddlewareCallback) *Invoker

SetAuthFailCallback set the authFailCallback of Invoker.

func (*Invoker) SetPermissionDenyCallback

func (invoker *Invoker) SetPermissionDenyCallback(callback MiddlewareCallback) *Invoker

SetPermissionDenyCallback set the permissionDenyCallback of Invoker.

type MiddlewareCallback

type MiddlewareCallback func(ctx *context.Context)

MiddlewareCallback is type of callback function.

type PersistenceDriver

type PersistenceDriver interface {
	Load(string) map[string]interface{}
	Update(sid string, values map[string]interface{})
}

PersistenceDriver is a driver of storing and getting the session info.

type Service added in v1.1.4

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

func GetService added in v1.1.4

func GetService(s interface{}) *Service

func (*Service) AddToken added in v1.1.4

func (s *Service) AddToken() string

AddToken add the token to the CSRFToken.

func (*Service) CheckToken added in v1.1.4

func (s *Service) CheckToken(toCheckToken string) bool

CheckToken check the given token with tokens in the CSRFToken, if exist return true.

func (*Service) Name added in v1.1.4

func (s *Service) Name() string

type Session

type Session struct {
	Expires time.Duration
	Cookie  string
	Values  map[string]interface{}
	Driver  PersistenceDriver
	Sid     string
	Context *context.Context
}

Session contains info of session.

func InitSession

func InitSession(ctx *context.Context, conn db.Connection) *Session

InitSession return the default Session.

func (*Session) Add added in v1.1.4

func (ses *Session) Add(key string, value interface{})

Add add the session value of key.

func (*Session) Clear

func (ses *Session) Clear()

Clear clear a Session.

func (*Session) Get

func (ses *Session) Get(key string) interface{}

Get get the session value.

func (*Session) StartCtx

func (ses *Session) StartCtx(ctx *context.Context) *Session

StartCtx return a Session from the given Context.

func (*Session) UpdateConfig

func (ses *Session) UpdateConfig(config Config)

UpdateConfig update the Expires and Cookie of Session.

func (*Session) UseDriver added in v1.1.4

func (ses *Session) UseDriver(driver PersistenceDriver)

UseDriver set the driver of the Session.

Jump to

Keyboard shortcuts

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