session

package
v0.0.0-...-5105834 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2022 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// UserSessionInfoKey user session info
	UserSessionInfoKey = "user-session-info"
)

Variables

This section is empty.

Functions

func New

func New() elton.Handler

New new session middleware

Types

type UserInfo

type UserInfo struct {
	// 登录时使用的Token,此字段不返回
	Token string `json:"token"`
	// 用户账号
	Account string `json:"account"`
	// 用户ID
	ID int `json:"id"`
	// 用户角色列表
	Roles []string `json:"roles"`
	// 用户分组列表
	Groups []string `json:"groups"`
}

UserInfo 用户session中的信息

type UserSession

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

UserSession 用户session

func NewUserSession

func NewUserSession(c *elton.Context) *UserSession

NewUserSession 创建新的用户session对象

func (*UserSession) AutoRefresh

func (us *UserSession) AutoRefresh(ctx context.Context) error

AutoRefresh 判断session是否准备过期,如果是,则刷新

func (*UserSession) Destroy

func (us *UserSession) Destroy(ctx context.Context) error

Destroy 清除用户session

func (*UserSession) GetInfo

func (us *UserSession) GetInfo() (UserInfo, error)

GetUserInfo 获取用户信息 避免修改了session中的数据,因此返回非指针的形式

func (*UserSession) IsLogin

func (us *UserSession) IsLogin() bool

IsLogin 判断用户是否已登录

func (*UserSession) MustGetInfo

func (us *UserSession) MustGetInfo() UserInfo

MustGetInfo 获取用户信息,如果信息获取失败则触发panic, 如果前置中间件已保证是登录状态,可以使用此函数,否则禁止使用

func (*UserSession) Refresh

func (us *UserSession) Refresh(ctx context.Context) error

Refresh 刷新用户session ttl

func (*UserSession) SetInfo

func (us *UserSession) SetInfo(ctx context.Context, info UserInfo) error

SetInfo 设置用户信息

Jump to

Keyboard shortcuts

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