Сессии, авторизация в Golang

Рейтинг: 1Ответов: 1Опубликовано: 21.04.2015

Добрый день. Как использовать сессии и авторизацию в go? Использую beego, но не въеду http://beego.me/docs/module/session.md

Ответы

▲ 1

Инициализируем сессии в главной функции

Импорт

import (
"github.com/astaxie/beego/session"
)

var globalSessions *session.Manager

например, так

func init() {
globalSessions, _ = session.NewManager("memory", `{"cookieName":"sessId", "enableSetCookie,omitempty": true, "gclifetime":3600, "maxLifetime": 3600, "secure": false, "sessionIDHashFunc": "sha1", "sessionIDHashKey": "", "cookieLifeTime": 3600, "providerConfig": ""}`)
    go globalSessions.GC()
}

Параметры NewManager можно посмотреть в документации beego

http://beego.me/docs/module/session.md

Теперь в контролере можно использовать сессии

func (c *AnyController) Get() {
        sess, err := globalSessions.SessionStart(c.Ctx.ResponseWriter, c.Ctx.Request)
        defer sess.SessionRelease(c.Ctx.ResponseWriter)
        err := sess.Set("key", "value")
        err = sess.Delete("key")
        //и другие методы
}