1

当用户访问我们的 webset/webapp 时,我们希望用户能够浏览网站并正常做事(目前该网站几乎完全由 CRUD 操作组成)。这样,用户可以在登录之前通过 DOING 看到网站提供的内容。

我们希望将所有这些操作存储在会话中或临时存储在 SQLAlchemy 操作中,但不提交到数据库。

然后,我们希望当用户创建帐户或登录时,所有这些操作都在该帐户名下完成。

有什么好方法可以做到这一点?目前,我们所有的服务器端功能都会在数据库操作成功后自动执行 SQLAlchemy 提交。所以我不确定删除它并手动进行提交是否是一个好主意。

另一方面,将数据库操作保存在会话/cookie 中似乎也很糟糕。然后我们需要在cookies中伪造数据库,这很丑陋,而且工作量很大。

请注意,我们使用的是 postgreSQL。

4

1 回答 1

0

我认为最好的方法是为访问该站点的每个用户分配一个临时用户名,并将该信息与他们在那里所做的所有其他事情一起存储在 SESSION cookie 中。然后,当他们注册时,您可以将所有这些 SESSION var 移动到他们新用户名下的数据库中。

顺便说一句,在 SESSION cookie 中保存任何内容都没有错,只要您使用的是 HTTPS(听起来您应该将其用于您拥有的网站)。每当您通过 HTTP 进行登录时,将任何内容存储在 cookie 中永远都不安全。

于 2013-05-28T11:58:31.187 回答