router

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ClaimsKey                 contextKey = 1                   //	claims类型
	TokenParamsRedisName                 = "_tokenParams"      //	Token参数缓存名称
	TokenValuesRedisName                 = "_tokenValues"      //	Token值缓存名称
	TokenAdminRolesRouterName            = "_adminRolesRouter" //	管理角色路由缓存名称
)

Variables

This section is empty.

Functions

func InitializationToken added in v1.1.0

func InitializationToken(rds redis.Conn, tokenParamsList map[string]*TokenParams, adminRolesRouter map[int64][]string)

InitializationToken 初始化Token

Types

type Claims

type Claims struct {
	AdminId            int64 //	管理ID
	UserId             int64 //	用户ID
	jwt.StandardClaims       //	jwt基础参数
}

Claims Token对象

type ControllerFunc

type ControllerFunc func(w http.ResponseWriter, r *http.Request, p httprouter.Params)

ControllerFunc 控制器方法名

type Handle

type Handle struct {
	Name       string         //	名称
	Method     string         // 	类型
	Route      string         // 	路由
	Controller ControllerFunc //	控制器
	RouteAuth  bool           //	路由验证
	TokenAuth  bool           //	Token验证
}

func NewHandle

func NewHandle(name, method, route string, controllerFunc ControllerFunc) *Handle

NewHandle 创建路由

func NewRouterTokenHandle

func NewRouterTokenHandle(name, method, route string, controllerFunc ControllerFunc) *Handle

NewRouterTokenHandle 创建路由Token验证

func NewTokenHandle

func NewTokenHandle(name, method, route string, controllerFunc ControllerFunc) *Handle

NewTokenHandle 创建Token验证

type Router

type Router struct {
	CallbackAccessFunc func(handle *Handle, r *http.Request, claims *Claims) //	访问日志
	// contains filtered or unexported fields
}

func NewRoute

func NewRoute(redisPool *redis.Pool) *Router

NewRoute 创建路由

func (*Router) InitializationAdminRole added in v1.1.0

func (c *Router) InitializationAdminRole(adminRolesRouter map[int64][]string) *Router

InitializationAdminRole 初始化管理路由

func (*Router) InitializationLocales added in v1.1.0

func (c *Router) InitializationLocales(localesList map[int64]map[string]map[string]string) *Router

InitializationLocales 初始化语言

func (*Router) InitializationTokenParams added in v1.1.0

func (c *Router) InitializationTokenParams(tokenParamsList map[string]*TokenParams) *Router

InitializationTokenParams 初始化Token参数

func (*Router) ListenAndServe

func (c *Router) ListenAndServe(addr string)

ListenAndServe 监听服务

func (*Router) ServeFiles

func (c *Router) ServeFiles(filePath string) *Router

ServeFiles 开启静态资源

func (*Router) SetCallbackAccessFunc added in v1.1.0

func (c *Router) SetCallbackAccessFunc(fun func(handle *Handle, r *http.Request, claims *Claims)) *Router

SetCallbackAccessFunc 设置访问日志函数

func (*Router) SetRouteHandle

func (c *Router) SetRouteHandle(routeHandle []*Handle) *Router

SetRouteHandle 设置路由函数

func (*Router) StatusUnauthorized

func (c *Router) StatusUnauthorized(writer http.ResponseWriter)

StatusUnauthorized 返回没有权限

type Token

type Token struct {
}
var TokenManager *Token

TokenManager Token管理

func (*Token) AuthRouter

func (c *Token) AuthRouter(rds redis.Conn, adminId int64, router string) bool

AuthRouter 验证路由

func (*Token) DelTokenValue

func (c *Token) DelTokenValue(rds redis.Conn, adminId, userId int64)

DelTokenValue 删除Token值

func (*Token) Generate

func (c *Token) Generate(rds redis.Conn, tokenKey string, adminId, userId int64) string

Generate 生成Token

func (*Token) GetContextClaims

func (c *Token) GetContextClaims(r *http.Request) *Claims

GetContextClaims 获取当前Claims

func (*Token) GetHeaderClaims added in v1.1.0

func (c *Token) GetHeaderClaims(rds redis.Conn, r *http.Request) *Claims

GetHeaderClaims 获取头信息中Token信息

func (*Token) GetHeaderTokenAndTokenKey

func (c *Token) GetHeaderTokenAndTokenKey(r *http.Request) (string, string)

GetHeaderTokenAndTokenKey 获取头信息Token参数

func (*Token) GetTokenAdminRolesRouter

func (c *Token) GetTokenAdminRolesRouter(rds redis.Conn, adminId int64) []string

GetTokenAdminRolesRouter 获取管理角色路由列表

func (*Token) GetTokenParams

func (c *Token) GetTokenParams(rds redis.Conn, tokenKey string) *TokenParams

GetTokenParams 获取Token参数

func (*Token) GetTokenValue

func (c *Token) GetTokenValue(rds redis.Conn, adminId, userId int64) string

GetTokenValue 获取Token值

func (*Token) GetTokenValueKey

func (c *Token) GetTokenValueKey(adminId, userId int64) string

GetTokenValueKey 获取Token值key

func (*Token) SetTokenAdminRolesRouter

func (c *Token) SetTokenAdminRolesRouter(rds redis.Conn, adminId int64, rolesRouter []string)

SetTokenAdminRolesRouter 设置管理角色路由列表

func (*Token) SetTokenParams

func (c *Token) SetTokenParams(rds redis.Conn, tokenKey string, tokenParams *TokenParams)

SetTokenParams 设置Token参数

func (*Token) SetTokenValue

func (c *Token) SetTokenValue(rds redis.Conn, adminId, userId int64, tokenStr string)

SetTokenValue 设置Token值

func (*Token) Verify

func (c *Token) Verify(rds redis.Conn, r *http.Request) *Claims

Verify 验证Token

type TokenParams

type TokenParams struct {
	Key       string        `json:"key"`       //	密钥
	Only      bool          `json:"only"`      //	是否唯一
	Expire    time.Duration `json:"expire"`    //	过期时间
	Whitelist string        `json:"whitelist"` //	白名单
	Blacklist string        `json:"blacklist"` //	黑名单
}

TokenParams Token 参数

Jump to

Keyboard shortcuts

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