【问题标题】:django's forbidden(403) response when session is expired, how to change it to unauthorized(401)会话过期时django的禁止(403)响应,如何将其更改为未授权(401)
【发布时间】:2012-12-02 23:28:23
【问题描述】:

我正在尝试在应用程序中上传文件。我清空浏览数据或以某种方式结束会话,然后点击上传。我从我的文件系统中选择了一个文件,我从 Django 的服务器中收到了一个禁止 (403) 错误。 csrf.py 的代码被执行。

if not constant_time_compare(request_csrf_token, csrf_token):
                logger.warning('Forbidden (%s): %s',
                               REASON_BAD_TOKEN, request.path,
                    extra={
                        'status_code': 403,
                        'request': request,
                    }
                )
                return self._reject(request, REASON_BAD_TOKEN)

现在,我不想更改 Django 的代码,如何向用户呈现 401 而不是 403。我不想从服务器捕获 403 并在我的 Javascript 中将其更改为 401。还有其他解决办法吗??谢谢

【问题讨论】:

    标签: django session csrf django-csrf


    【解决方案1】:

    CSRF_FAILURE_VIEW 设置允许您 为 CSRF 失败编写自己的视图。你可以写一个返回 HTTP 状态 401。

    【讨论】:

      猜你喜欢
      • 2015-10-04
      • 2020-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      • 2022-08-07
      • 1970-01-01
      相关资源
      最近更新 更多