manual-en-US/chapter-10
2019-11-17 16:15:46 +08:00
..
1-memory.md update session documents 2016-02-16 11:16:41 +08:00
2-nodb.md Change to new gitea address 2019-11-17 16:15:46 +08:00
3-redis.md Change to new gitea address 2019-11-17 16:15:46 +08:00
4-ssdb.md Change to new gitea address 2019-11-17 16:15:46 +08:00
5-ledis.md Change to new gitea address 2019-11-17 16:15:46 +08:00
6-tracker.md update session documents 2016-02-16 11:16:41 +08:00
README.md Change to new gitea address 2019-11-17 16:15:46 +08:00

Session

Session is a session middleware for Tango.

Backend Supports

Currently session support some backends below:

  • Memory - memory as a session store
  • Redis - redis server as a session store
  • Ledis - ledis server as a session store
  • nodb - nodb as a session store
  • ssdb - use ssdb server as a session store

Installation

go get gitea.com/tango/session

Simple Example

package main

import (
    "gitea.com/lunny/tango"
    "gitea.com/tango/session"
)

type SessionAction struct {
    session.Session
}

func (a *SessionAction) Get() string {
    a.Session.Set("test", "1")
    return a.Session.Get("test").(string)
}

func main() {
    o := tango.Classic()
    o.Use(session.New(session.Options{
        MaxAge:time.Minute * 20,
        }))
    o.Get("/", new(SessionAction))
}

For other store,

func main() {
    o := tango.Classic()
    o.Use(session.New(session.Options{
        MaxAge:time.Minute * 20,
        Store: redistore.New(Options{
			Host:    "127.0.0.1",
			DbIndex: 0,
			MaxAge:  30 * time.Minute,
		},
        }))
    o.Get("/", new(SessionAction))
}