好的,从哪里开始...问题是,当我设置会话是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,显然这引起了问题,因为我想,更长或更深的路径优先于较短的根路径,回想起来,这是完全有道理的。
- 1 回答
- 0 关注
- 177 浏览
添加回答
举报
0/150
提交
取消