고릴라 세션을 설정하고 값을 다시 검색하려고합니다. 나는 다음과 같은 시험을하고있다.기존 고릴라 세션 가져 오기
//create session and store in http Cookies
session, err := store.Get(req, "session")
if err != nil {
errCode = http.StatusInternalServerError
return
}
//save a value
session.Values["user_id"] = userTuple.UserId
err = session.Save(req, w)
if err != nil {
errCode = http.StatusInternalServerError
return
}
//try to get the same session that was just created
nr := http.Request{Header: w.Header()}
session, err = store.Get(&nr, "session")
if err != nil {
errCode = http.StatusInternalServerError
return
} else if session.IsNew {
log.Println("New session created instead of old one.")
}
이것은 더 큰 HTTP 처리기의 조각입니다. 그러나 relavent 부품이 게시되고 store.Get()
에 대한 두 번째 호출은 기존 세션을 반환하지 않고 새로운 세션을 반환합니다. 따라서이 코드가있는 핸들러가 실행될 때 로그 문이 콘솔에 인쇄됩니다.
내가 만든이 세션에서 새 세션이 생기는 이유는 무엇입니까? 실제 시즌 값이 ResponseWriter
에 기록되는 쿠키, 복사 내부에 저장되기 때문에
어떤 가게를 사용하고 있습니까? – OneOfOne
다른 코드는 없습니다. 처음으로 코드를 잘못 게시했습니다. 같은 질문, 다른 문제. – moesef
메신저 쿠키를 사용하여 – moesef