允许匿名人员发布值

时间:2012-07-03 18:19:28

标签: django session

匿名用户(无登录)会定向到目标网页,其中有一个按钮和文本字段,用于发布信息。

我希望将数据的行为发布与登陆页面的人联系起来。即知道帖子的目标网址不应该允许你发帖,它应该与很短的持续时间相关联。

我正在使用Django。

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

1 个答案:

答案 0 :(得分: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

签名饼干

如果您使用的是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>)