匿名用户(未登录)被定向到登录页面,其中有一个按钮和文本字段来发布信息。
我希望发布数据的行为与登陆页面的人相关联。即知道帖子的目标网址不应让您发布内容,它应该与非常短的会话相关联。
我正在使用 Django。
什么是最简单或内置的使用方法?
如果您配置了会话存储,则可以将此信息存储在匿名用户的会话中。要开始会话:
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
如果您使用的是 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>)