sessions icon indicating copy to clipboard operation
sessions copied to clipboard

Use always error

Open venvis856 opened this issue 4 years ago • 3 comments

package example

import ( "fmt" "github.com/gin-contrib/sessions/redis" "github.com/gin-gonic/contrib/sessions" "github.com/gin-gonic/gin" )

func Session(c *gin.Context){ session := sessions.Default(c)

store, _ := redis.NewStore(10, "tcp", "192.168.1.246:6379", "", []byte("secret"))
session.Set("login_user",store)

err:=session.Save()
if err!=nil {
	fmt.Println(err)
}

//res:=session.Get("login_user")
//fmt.Println(res)
c.String(200,"nihao")

}

error: [31m2020/01/02 17:35:02 [Recovery] 2020/01/02 - 17:35:02 panic recovered: GET /Session HTTP/1.1 Host: 127.0.0.1:8077 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Cache-Control: no-cache Connection: keep-alive Pragma: no-cache Sec-Fetch-Mode: navigate Sec-Fetch-Site: cross-site Sec-Fetch-User: ?1 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36

Key "github.com/gin-gonic/contrib/sessions" does not exist F:/go/src/gin/vendor/github.com/gin-gonic/gin/context.go:240 (0xafd1a2) (*Context).MustGet: panic("Key "" + key + "" does not exist") F:/go/src/gin/vendor/github.com/gin-gonic/contrib/sessions/sessions.go:146 (0xafcea7) Default: return c.MustGet(DefaultKey).(Session) F:/go/src/gin/app/example/session.go:11 (0xafcea6) Session: session := sessions.Default(c) F:/go/src/gin/vendor/github.com/gin-gonic/gin/context.go:147 (0x8e04e0) (*Context).Next: c.handlersc.index F:/go/src/gin/vendor/github.com/gin-gonic/gin/recovery.go:83 (0x8f4720) RecoveryWithWriter.func1: c.Next() F:/go/src/gin/vendor/github.com/gin-gonic/gin/context.go:147 (0x8e04e0) (*Context).Next: c.handlersc.index F:/go/src/gin/vendor/github.com/gin-gonic/gin/logger.go:241 (0x8f3827) LoggerWithConfig.func1: c.Next() F:/go/src/gin/vendor/github.com/gin-gonic/gin/context.go:147 (0x8e04e0) (*Context).Next: c.handlersc.index F:/go/src/gin/vendor/github.com/gin-gonic/gin/gin.go:403 (0x8ea9e0) (*Engine).handleHTTPRequest: c.Next() F:/go/src/gin/vendor/github.com/gin-gonic/gin/gin.go:364 (0x8ea0c4) (*Engine).ServeHTTP: engine.handleHTTPRequest(c) C:/Go/src/net/http/server.go:2774 (0x6b3e7e) serverHandler.ServeHTTP: handler.ServeHTTP(rw, req) C:/Go/src/net/http/server.go:1878 (0x6af967) (*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req) C:/Go/src/runtime/asm_amd64.s:1337 (0x458e20) goexit: BYTE $0x90 // NOP [0m [GIN] 2020/01/02 - 17:35:02 |[97;41m 500 [0m| 49.9986ms | 127.0.0.1 |[97;44m GET [0m /Session

venvis856 avatar Jan 02 '20 09:01 venvis856

Seems to be the same error as #115.

GwynethLlewelyn avatar Jun 28 '20 23:06 GwynethLlewelyn

I've just ran into this issue and found:

The problem here is that https://github.com/gin-gonic/contrib/blob/master/sessions/sessions.go

The default key is set to github.com/gin-gonic/contrib/sessions where as https://github.com/gin-contrib/sessions/blob/v0.0.3/sessions.go it is set to github.com/gin-contrib/sessions

Wherever you're calling session := sessions.Default(c) you're importing "github.com/gin-gonic/contrib/sessions" instead of "github.com/gin-contrib/sessions"

EDIT:

After further investigation in order to fix this you must find all references to github.com/gin-contrib/sessions (If you're using gin-gonic) to github.com/gin-gonic/contrib/sessions and follow the example here: https://github.com/gin-gonic/contrib/tree/master/sessions

For example I was using the cookie store so I had to refactor

	store := cookie.NewStore([]byte(os.Getenv("SESSION_SECRET")))

to:

	store := sessions.NewCookieStore([]byte("SESSION_SECRET"))

sizzlorox avatar Jul 12 '20 15:07 sizzlorox

I will have this error:

Key "github.com/gin-gonic/contrib/sessions" does not exist C:/Users/boaho/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:273 (0x86a2a7) (*Context).MustGet: panic("Key "" + key + "" does not exist") C:/Users/boaho/go/pkg/mod/github.com/gin-gonic/[email protected]/sessions/sessions.go:146 (0x86a249) Default: return c.MustGet(DefaultKey).(Session) C:/laragon/www/notificacao_bazar/Controllers/userController.go:35 (0x86d4d6) Store: session := sessions.Default(s) C:/Users/boaho/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 (0x85b1d9) (*Context).Next: c.handlersc.index C:/Users/boaho/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:102 (0x85b1c7) CustomRecoveryWithWriter.func1: c.Next() C:/Users/boaho/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 (0x85a37d) (*Context).Next: c.handlersc.index C:/Users/boaho/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:240 (0x85a34c) LoggerWithConfig.func1: c.Next() C:/Users/boaho/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 (0x85947a) (*Context).Next: c.handlersc.index C:/Users/boaho/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:620 (0x85910d) (*Engine).handleHTTPRequest: c.Next() C:/Users/boaho/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:576 (0x858c3c) (*Engine).ServeHTTP: engine.handleHTTPRequest(c) C:/Program Files/Go/src/net/http/server.go:2938 (0x688dcd) serverHandler.ServeHTTP: handler.ServeHTTP(rw, req) C:/Program Files/Go/src/net/http/server.go:2009 (0x684cb3) (*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req) C:/Program Files/Go/src/runtime/asm_amd64.s:1650 (0x32b480) goexit: BYTE $0x90 // NOP

boahost avatar Dec 28 '23 15:12 boahost