登录金字塔后请求恢复

时间:2012-08-30 12:04:02

标签: python login pyramid

让我们有一个简单的页面,允许登录用户编辑文章。想象一下以下情况:

用户Bob已登录系统并正在编辑长篇文章。由于编辑此类文章需要很长时间,因此他的身份验证已过期。之后,他点击提交按钮,由于认证过期,他被重定向到登录页面。

在成功登录后完成动作(保存文章)是非常可取的。因此,我们将恢复Bob未经身份验证时完成的请求,并在成功登录后立即重复。怎么能用金字塔做到这一点?

1 个答案:

答案 0 :(得分:3)

您需要三个部分;

  1. 处理经过身份验证的表单提交的页面应检查请求是否已正确验证,执行操作,但如果不是,则将所有数据存储在服务器端会话中并将用户重定向到登录页。
  2. 登录页面应该查找“正在尝试做X”的查询参数(例如...?fromurl=/post/a/comment。用户成功登录后,登录页面应该将用户重定向到该页面而不是网站的头版。
  3. 用户重定向到的网址应与用于最初填写未经身份验证的请求的格式相同。但是,在这种情况下,服务器应该识别出存在于该用户的服务器端会话中的字段值;所以它应该用这些值填充所有表单字段。然后用户可以立即点击提交并完成帖子。这可能与请求包含一些无效的表单值时重新填充字段的方式类似。
  4. 步骤3应该直接执行帖子;原始数据和请求来自未经过身份验证的用户