异常发生时会话是否更改?

时间:2018-03-13 12:57:22

标签: ruby-on-rails jwt session-cookies

我想询问下一种情况的行为:

  1. 请求已经发送并执行某些操作
  2. 操作处理程序更改会话,执行其部分工作并遇到异常
  3. 呈现错误页面
  4. 刷新页面( CTRL + F5 )以重复请求。
  5. 所以问题:
    重复请求是否与第一个请求相同,或ROR将序列化会话并在第三步设置新的JWT cookie(因此第四步的重复请求会略有不同)?

2 个答案:

答案 0 :(得分:0)

Ruby on Rails默认情况下不使用JWT。可以使用third party gems进行JWT身份验证来构建Rails应用程序。

在发生异常之前对标准rails会话所做的任何更改都会在会话中保留,并在下次请求时可用。

纯JWT方案 - 不使用标准的rails会话 - 是stateless,并且不会出现此行为。

答案 1 :(得分:0)

我取决于你有什么样的错误。当请求以异常结束时,会话(cookie)不会被修改。但我很确定你不会在生产中向用户显示例外,你会显示风格化的错误页面。这意味着您的请求将以成功结束并在此情况下更改会话(cookie)。