Python 登录金字塔后请求恢复

Python 登录金字塔后请求恢复,python,login,pyramid,Python,Login,Pyramid,让我们有一些简单的页面,允许登录用户编辑文章。想象一下以下情况: 用户Bob已登录系统,正在编辑长篇文章。由于编辑这篇文章需要很长时间,他的身份验证就过期了。之后,他点击提交按钮,由于认证过期,他被重定向到登录页面 在他成功登录后完成操作(保存文章)是非常可取的。因此,我们将恢复Bob未经身份验证时执行的请求,并在成功登录后立即重复该请求。金字塔怎么能做到这一点呢?你需要三个部分 处理已验证表单提交的页面应检查请求是否已正确验证,执行操作,如果未正确验证,则将所有数据存储在服务器端会话中,并将使

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

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


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

你需要三个部分

  • 处理已验证表单提交的页面应检查请求是否已正确验证,执行操作,如果未正确验证,则将所有数据存储在服务器端会话中,并将使用重定向到登录页面
  • 登录页面应查找“was trying do X”类查询参数(例如,
    ..?fromurl=/post/a/comment
    。用户成功登录后,登录页面应将用户重定向到该页面,而不是站点的首页
  • 用户重定向到的url应与他们最初填写未经验证的请求时使用的表单相同。不过,在这种情况下,服务器应识别此用户的服务器端会话中存储了字段值;因此,它应使用这些值填充所有表单字段。然后用户可以点击sub这可能与当请求包含一些无效表单值时重新填充字段的方式类似

  • 重要的是,步骤3不应直接执行post;原始数据和请求来自未经验证的用户。

    您需要三个部分

  • 处理已验证表单提交的页面应检查请求是否已正确验证,执行操作,如果未正确验证,则将所有数据存储在服务器端会话中,并将使用重定向到登录页面
  • 登录页面应查找“was trying do X”类查询参数(例如,
    ..?fromurl=/post/a/comment
    。用户成功登录后,登录页面应将用户重定向到该页面,而不是站点的首页
  • 用户重定向到的url应与他们最初填写未经验证的请求时使用的表单相同。不过,在这种情况下,服务器应识别此用户的服务器端会话中存储了字段值;因此,它应使用这些值填充所有表单字段。然后用户可以点击sub这可能与当请求包含一些无效表单值时重新填充字段的方式类似

  • 重要的是,第3步不应直接执行post;原始数据和请求来自未经验证的用户。

    感谢您的回答,特别是在直接发布请求时指出了安全问题。感谢您的回答,特别是在发布请求时指出了安全问题没错。