auth

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2020 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TokenServiceKey = "token_csrf_helper"
	ServiceKey      = "auth"
)
View Source
const DefaultCookieKey = "go_admin_session"

Variables

This section is empty.

Functions

func Auth added in v1.3.0

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, method string, param url.Values) bool

CheckPermissions check the permission of the user.

func DelCookie

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

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.3.0

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

GetCurUser return the user model.

func GetCurUserByID added in v1.3.0

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.3.0

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

GetSessionByKey get the session value by key.

func GetUserID added in v1.3.0

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

GetUserID return the user id from the session.

func InitCSRFTokenSrv added in v1.3.0

func InitCSRFTokenSrv(conn db.Connection) (string, service.Service)

func Middleware added in v1.3.0

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) error

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.3.0

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.3.0

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

Load implements the PersistenceDriver.Load.

func (*DBDriver) Update added in v1.3.0

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

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.3.0

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{}, error)
	Update(sid string, values map[string]interface{}) error
}

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

type Processor added in v1.3.0

type Processor func(ctx *context.Context) (model models.UserModel, exist bool, msg string)

type Service added in v1.3.0

type Service struct {
	P Processor
}

func GetService added in v1.3.0

func GetService(s interface{}) *Service

func NewService added in v1.3.0

func NewService(processor Processor) *Service

func (*Service) Name added in v1.3.0

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, error)

InitSession return the default Session.

func (*Session) Add added in v1.3.0

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

Add add the session value of key.

func (*Session) Clear

func (ses *Session) Clear() error

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, error)

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.3.0

func (ses *Session) UseDriver(driver PersistenceDriver)

UseDriver set the driver of the Session.

type TokenService added in v1.3.0

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

func GetTokenService added in v1.3.0

func GetTokenService(s interface{}) *TokenService

func (*TokenService) AddToken added in v1.3.0

func (s *TokenService) AddToken() string

AddToken add the token to the CSRFToken.

func (*TokenService) CheckToken added in v1.3.0

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

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

func (*TokenService) Name added in v1.3.0

func (s *TokenService) Name() string

Jump to

Keyboard shortcuts

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