gpt4 book ai didi

ruby-on-rails - Cookie 可能未设置或溢出,因为它太大

转载 作者:行者123 更新时间:2023-12-03 15:54:29 24 4
gpt4 key购买 nike

使用有关如何使用 devise 和 angular 作为前端实现 rails 身份验证的教程。

http://www.sotoseattle.com/blog/2014/10/30/Devise-Angular-Rails/

除了 cookie 之外,一切都好当我尝试登录或注册时出现错误,原因是在有效的注册用户自动登录后。

我得到的错误是:

Cookie 'logged_user' possibly not set or overflowed because it was too large (8279 > 4096 bytes)!

angular 中的 signIn 函数:
$scope.signIn = function(new_user){
data = { user: new_user };
$http.post('/users/sign_in', data)
.success(function(data){
$scope.user = {};
$cookieStore.put('logged_user', data);
$scope.setForm('');
$location.path('/dashboard');
})
.error(function(data,status){
console.log(data);
console.log(status);
});
};

完全可以使用 cookie 吗?我认为问题来自这一行:
$cookieStore.put('logged_user', data);

但是在 js 或 angular 方面不是很有经验,我不知道该怎么做。任何帮助,将不胜感激。谢谢你。

最佳答案

使用 cookie 来管理 session 很好,但 8k 是一个相当大的 cookie。如您所见,大小限制为 4k。

请记住,您的 cookie 将在来自浏览器的每个请求中发送到服务器。 (大的,恕我直言)4k 限制的原因是你希望你的请求很轻。任何时候您使用 cookie 存储向 session 哈希添加任何内容时,您都将其添加到 cookie。你确定你需要你放在那里的所有东西吗?

有关提及此限制并描述 session 存储的文档,请查看 http://api.rubyonrails.org/classes/ActionDispatch/Session/CookieStore.html

关于ruby-on-rails - Cookie 可能未设置或溢出,因为它太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28322158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com