将User结构放在会话中是不是很糟糕?

时间:2018-03-15 05:22:31

标签: elixir phoenix-framework

我正在看这篇博文:http://nithinbekal.com/posts/phoenix-authentication/

这是将用户的ID放在会话中的部分。但是,当您想要访问它时,您需要使用该ID来查找用户。

  conn
  |> put_session(:current_user, user.id)
  |> put_flash(:info, "Logged in")
  |> redirect(to: "/")

将整个用户结构放在会话中会有什么不好?这会更简单吗?

  ...
  |> put_session(:current_user, user)
  ...

1 个答案:

答案 0 :(得分:1)

Phoenix会话默认存储在cookie中,而cookie的大小限制为4K。虽然大多数(如果所有)现代浏览器都支持更大的cookie文件大小,但RFC 2109仍然定义了4096字节的限制,在会话中存储整个结构时可能会超出限制。