我已经在这个房子周围了,我确定我以错误的方式接近这个。
在我的RoR网站上,用户可以输入新帖子的详细信息(如果他们已注销)。但当他们点击“创造”时我检查他们是否经过身份验证。如果不是,我会要求用户登录或创建帐户。登录后,我希望表单自动重新提交原始POST数据。我正在使用设计进行身份验证。
除了保留原始表单POST数据并避免CSRF失败之外,我已经完成了所有工作。
我认为CSRF失败是因为重新提交的数据没有真实性令牌 - 所以我现在关闭了CSRF保护,直到我修复了 POST数据保留。
我无法将数据存储在会话中,因为表单数据包含图像并且会破坏4k会话限制。
请问,是否有一个常规的Rails模式可以解决这个问题?
由于 保罗
答案 0 :(得分:0)
这很简单:从新表单中获取真实性令牌(您在用户登录后重新请求)并使用旧请求数据发送它。