0

我正在开发基于 Sinatra 的应用程序,目前正在使用 LinkedIn 进行身份验证。我页面上的某些内容是基于数据库的,因此在路由某人之前我需要该用户的用户 ID。

我通常试图了解网站如何跟踪每个页面上的用户 ID?我有一些想法:

1]将用户ID放入cookie并通过它执行会话管理。

2]使用全局用户ID变量。我不确定这将如何在我的应用程序中工作,因为会有多个用户等。

3]将用户ID作为局部变量传递给每个页面(haml / html),并将其传递回params中的路由!

2] 和 3] => 听起来很复杂。

处理这个问题的常用方法是什么?我可以使用的任何关于宝石等的建议。

4

1 回答 1

0

1] 可能是“正确”的答案,但是如果您已经可以访问特定用户的会话,那么您已经知道他们是谁,因此 cookie 只是服务器和浏览器必须发送的额外“东西”。换句话说,如果您的服务器已经有一个您可以访问的会话,并且该会话已经映射到该用户,那么您已经在关注该用户。

2和3]需要状态管理或对交付给客户端的页面内容进行服务器端处理。

于 2013-06-21T02:26:52.667 回答