go gorilla/sessions angularjs 和路径,未保存会话值(找到错误/归咎于)

好的,从哪里开始...


问题是,当我设置会话是Path到"/"会话不会得到保存。


我设置Path是因为当发布到不是保存会话的路径的路径时,也session.Save()称为会话值“用户”为空|nil|未设置。所以我设置了Path: "/",但会话没有保存。检查 Chromium 时,我看到 cookie 已设置。我不知道问题出在哪里。是在大猩猩/会议中吗?是在 AngularJS 中吗?HTML5 模式在 angular 中处于关闭状态。


所以改写一下,发生这种情况是因为与调用函数的/api/1.0/community路径不同,这就是我设置. 但是,当是会话值“用户”不会被保存。/api/1.0/usersessions.Save(r,w)Path: "/",Path"/"


main.go


var (

    sessionStore    *sessions.CookieStore

    sessionAuthKey  []byte      = make([]byte, 64)

    sessionCryptKey []byte      = make([]byte, 32)

    router          *mux.Router = mux.NewRouter()

)


func init() {

    // Generate Session Secret

    sessionAuthKey = securecookie.GenerateRandomKey(64)

    sessionCryptKey = securecookie.GenerateRandomKey(32)


    // Create Session

    sessionStore = sessions.NewCookieStore(sessionAuthKey, sessionCryptKey)

    sessionStore.Options = &sessions.Options{

        Domain: ".mango.dev",

        Path:   "/",

        MaxAge: 0,

    }

}


func main() {

    api := router.PathPrefix("/api/1.0").Subrouter()

    api.HandleFunc("/user/register", UserRegisterHandler).Methods("POST")

    api.HandleFunc("/user/authenticate", UserAuthenticateHandler).Methods("POST")

    api.HandleFunc("/user/endsession", UserLogoutHandler).Methods("POST")

    api.HandleFunc("/user/profile", UserProfileHandler).Methods("GET")

    api.HandleFunc("/user/profile", UserUpdateProfileHandler).Methods("POST")

    api.HandleFunc("/user/reset_request", UserResetRequestHandler).Methods("POST")

    api.HandleFunc("/user/reset_password", UserResetPasswordHandler).Methods("POST")

    api.HandleFunc("/user/loginstatus", UserLoginStatusHandler).Methods("GET")

    api.HandleFunc("/forums/directory", ForumsDirectoryHandler).Methods("GET")

    api.HandleFunc("/community/list", CommunityListHandler).Methods("GET")

    api.HandleFunc("/community/show", CommunityShowHandler).Methods("GET")

    api.HandleFunc("/community/create", CommunityCreateHandler).Methods("POST")

    api.HandleFunc("/community/edit", CommunityEditHandler).Methods("GET")



慕码人8056858
浏览 178回答 1
1回答

跃然一笑

问题是dundundun我在更改之前存储了具有路径“/api/1.0/user”的旧cookie,显然这引起了问题,因为我想,更长或更深的路径优先于较短的根路径,回想起来,这是完全有道理的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go