为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕码人8056858 2021-07-09 14:19:53
好的,从哪里开始...问题是,当我设置会话是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.govar (    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")
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

问题是dundundun我在更改之前存储了具有路径“/api/1.0/user”的旧cookie,显然这引起了问题,因为我想,更长或更深的路径优先于较短的根路径,回想起来,这是完全有道理的。


查看完整回答
反对 回复 2021-07-19
  • 1 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信