0

匿名用户(未登录)被定向到登录页面,其中有一个按钮和文本字段来发布信息。

我希望发布数据的行为与登陆页面的人相关联。即知道帖子的目标网址不应让您发布内容,它应该与非常短的会话相关联。

我正在使用 Django。

什么是最简单或内置的使用方法?

4

1 回答 1

1

会话

如果您配置了会话存储,则可以将此信息存储在匿名用户的会话中。要开始会话:

request.session["allow_post_until"] = datetime.datetime.now() + datetime.timedelta(...)

并检查它:

if not (request.session["allow_post_until"] and request.session["allow_post_until"] < datetime.datetime.now()):
    raise PermissionDenied

签名的 Cookie

如果您使用的是 django 1.4 并且不想配置会话存储,则可以为此使用签名的 cookie。当您想为用户启用会话时,请使用适当的 max_age 设置 cookie。当用户发帖时,检查签名的 cookie 并检查其有效性。设置:

response.set_signed_cookie("mysession", "sessiondata", max_age=<session period in seconds>)

去检查:

request.get_signed_cookie("mysession", max_age=<session period in seconds>)
于 2012-07-03T20:46:15.663 回答