如何处理Django会话数据以存储用户ID?

时间:2014-09-22 09:03:01

标签: django session

这可能听起来太容易理解,但我不确定我是否正常理解它。

当用户在我的应用的第一页注册时,我设置了request.session['user_id'],用于注册的第二页以完成注册。 user_id USER TABLE 中用户的主键,但我不想在session中存储user_id。我担心它可能会被篡改,错误行可能会更新。

我想要一些像我的脚本生成的令牌,但 Django的SESSION TABLE 只有三列( session_key,session_data,expire_date )并自动保存会话详细信息。

我的问题正是:

  1. 我可以修补 SESSION TABLE 并为其添加session_token或者我必须创建自己的桌子吗?
  2. 如何让session_token像Django SESSION TABLE 中的其他列一样自动保存?
  3. 或者是`request.session ['user_id']还好吗?
  4. 所有这些是否也适用于 COOKIES ,为什么在SESSION_EXPIRE_AT_BROWSER_CLOSE设置为FALSE时我需要使用Cookie?

1 个答案:

答案 0 :(得分:1)

会话存储在数据库中,而不是存储在用户的cookie中。用户无法更改该数据。存储在cookie中的唯一内容是会话ID本身的哈希值。