2

我想跟踪连接到我的 Web 应用程序的每个浏览器的唯一标识符(用 Pylons 编写)。我在客户端上保留一个 cookie 以跟踪这一点,但如果 cookie 不存在,那么我想要生成一个新的唯一标识符,该标识符将与响应一起发送回客户端,但我也可能希望从用于生成响应的其他代码中访问此值。

将此值附加到 pylons.request 安全吗?或者我是否需要做一些事情,比如使用 threading_local 来制作一个本地线程,在处理每个新请求时我会重置该线程?

4

2 回答 2

3

为什么需要唯一标识符?基本上每个访问者都已经获得了一个唯一的标识符,他的 Session。Beaker、 Pylons 会话和缓存中间件完成所有工作并跟踪访问者,通常使用 Session cookie。所以不要关心跟踪用户,只需将 Session 用于它的用途,存储你拥有的任何用户特定的东西。

from pylons import session
session["something"] = whatever()
session.save()

# somewhen later
something = session["something"]
于 2009-07-14T17:07:34.703 回答
0

无论您在请求中设置什么,都只会在请求期间有效。正如 TCH4k 所说,您所描述的问题更适合使用 Session 处理。它已经在中间件中启用,所以继续。

于 2009-07-15T01:43:11.203 回答