我正在开发基于Sinatra的应用程序,目前正在使用LinkedIn进行身份验证。我页面上的一些内容是基于数据库的,因此在我路由某人之前我需要该用户的用户ID。
我试图通常了解网站如何跟踪每个页面上的用户ID?我有一些想法:
1]将用户ID放在cookie中并通过它执行会话管理。
2]使用全局user-id变量。我不确定这在我的应用程序中是如何工作的,因为会有多个用户等。
3]将用户id传递给每个页面(haml / html)作为局部变量,并将其传递回params中的路径!
2]和3] =>听起来很复杂。
通常的方法来处理这个问题? 我可以使用任何宝石等建议。
答案 0 :(得分:0)
1]可能是“正确”的答案,但是如果您已经有权访问特定用户的会话,那么您已经知道他们是谁,因此cookie只是服务器和浏览器必须具备的额外“东西”。发送。换句话说,如果您的服务器已经有一个您有权访问的会话,并且该会话已经映射到该用户,那么您已经关注该用户了。
2和3]需要对提供给客户端的页面内容进行状态管理或服务器端处理。