Back to godoc.org

Package middleware

v0.0.0-...-eddb2f0
Latest Go to latest

The highest tagged major version is .

Published: Sep 2, 2020 | License: MIT | Module: gitee.com/web-bird/bird

Index

Constants

const GC_TIME = 60 //单位:秒

缓存更新时间

const (
	GIN_KEY_JWT = "gin_key_jwt"
)

type Handler struct { } //发行者 func (this *Handler) Issuer() string {

return "test"

}

//设置密匙 func (this *Handler) Secret() string {

return "abcdefaasdfasdft"

}

//获取token的方式 func (this *Handler) Token(w *Wontext) string {

var token = ""
if w.Request.Header["Authorization"] != nil {
	token = w.Request.Header["Authorization"][0]
}
return token

}

//当错误时 func (this *Handler) Error(w *Wontext) {

token, e := w.GenerateToken("hait", "hait", 323)
fmt.Println("jwt 加密结果:", token, e)
w.Succ(100, token)

}

//当超时时 func (this *Handler) Timeout(w *Wontext) {

}

const (
	GIN_KEY_SESSION = "SESSION"
)

func MaxAllowed

func MaxAllowed(n int) gin.HandlerFunc

限制最大允许连接数的中间件,最低255并发

func RegisterValidation

func RegisterValidation(param string, fun ValidFunc)

注册自定义验证器

func Sequence

func Sequence(limit int64, onrepeat func(*gin.Context)) gin.HandlerFunc

防止请求重复提交中间件 忽略GET请求 limit=限制重复提交的时间,onrepeat=当发生重复请求时执行的回调函数

func Session

func Session(name string, maxLifeTime int64) gin.HandlerFunc

session中间件 name=session名称 maxLifeTime=session过期时间

func Sign

func Sign(signKey, secret string) gin.HandlerFunc

type Claims

type Claims struct {
	UserId   int64  `json:"userid"`
	Username string `json:"username"`
	Outtime  int64  `json:"outTime"`
	Group    string `json:"group"`
	jwt.StandardClaims
}

jwt数据保存结构

type JWT

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

jwt处理结构,继承使用

func (*JWT) GenerateToken

func (this *JWT) GenerateToken(id int64, username string) (string, error)

生成token username 用户名 id 用户id group 用户组

func (*JWT) Handler

func (this *JWT) Handler() gin.HandlerFunc

拦截中间件

func (*JWT) Init

func (this *JWT) Init(conf JWTConfigInterface)

func (*JWT) ParseToken

func (this *JWT) ParseToken(token string) (*Claims, error)

解析

type JWTConfigInterface

type JWTConfigInterface interface {
	Group() string             //分组
	Issuer() string            //发行人
	Secret() string            //密匙
	Token(*gin.Context) string //口令获取方式
	Error(*gin.Context)        //当出现错误时
	Timeout(*gin.Context)      //当超时
	Duration() time.Duration   //生存时间(单位分)
}

jwt配置接口

type MemSession

type MemSession struct {
	sync.Map
	// contains filtered or unexported fields
}

session对象

func (*MemSession) Clear

func (this *MemSession) Clear()

func (*MemSession) Del

func (this *MemSession) Del(key string)

func (*MemSession) Get

func (this *MemSession) Get(key string) interface{}

func (*MemSession) Id

func (this *MemSession) Id() string

func (*MemSession) Set

func (this *MemSession) Set(key string, value interface{})

type SessionEngine

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

session engine

type ValidFunc

type ValidFunc func(reflect.Value, reflect.Type) bool

验证函数

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier