2

用户会话过期后,当向任何具有 的控制器发出POST或请求时,服务器会以 403 响应,而不是注销用户的预期 401。PUTprotect_from_forgery

当控制器返回 401 代码时,客户端会将用户重定向回登录屏幕。

我不想在每个 403 上重定向,除非他们的会话过期,否则我不会让用户被踢出。

我尝试过谷歌搜索并使用文档中描述的不同标志,但没有任何运气。会话过期时如何使protect_from_forgery返回401?

4

1 回答 1

0

我找不到合适的解决方案,所以我使用了以下技巧:

在客户端,每当服务器返回 403 错误时,我都会立即GET向 API 端点发出请求,如果会话存在(用户登录)则返回 200,否则返回 401。

我已经有了将用户重定向到任何 401 错误的登录页面的客户端逻辑。

如果有人有更好的解决方案,不需要打第二个电话,我会很高兴听到的。

于 2017-08-24T16:29:07.920 回答