더북(TheBook)

9.3.1 세션

로그인한 사용자 정보를 유지하려면 세션이 필요하다. 세션 관리를 위해 negroni에서 사용할 수 있는 negroni-sessions 패키지를 사용해 보자. negroni-sessions 패키지는 세션 기능을 제공한다.

 

세션 핸들러 등록

웹 애플리케이션이 구동될 때 세션 영역이 만들어지도록 다음과 같이 구현한다.

▼ main.go

import (
    /* ... */
     
    "github.com/codegangsta/negroni"
    "github.com/goincremental/negroni-sessions"
    "github.com/goincremental/negroni-sessions/cookiestore"
)
 
const (
    // 애플리케이션에서 사용할 세션의 키 정보
    sessionKey    = "simple_chat_session"
    sessionSecret = "simple_chat_session_secret"
)
 
func main() {
    /* ... */
     
    // negroni 미들웨어 생성
    n := negroni.Classic()
    store := cookiestore.New([]byte(sessionSecret))
    n.Use(sessions.Sessions(sessionKey, store))
     
    /* ... */
}

쿠키 기반의 세션 저장소를 만들어 negroni에서 사용할 수 있게 등록했다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.