【问题标题】:Add auth user in django admin interface: HTTP 403 error在 django 管理界面中添加身份验证用户:HTTP 403 错误
【发布时间】:2012-06-07 12:54:55
【问题描述】:

当我尝试通过管理界面保存新用户时,我遇到了一个奇怪的问题。 我收到 403 HTTP 状态代码错误。

我没有更改身份验证应用程序中的任何内容。

这是我的中间件:

MIDDLEWARE_CLASSES = (
    'johnny.middleware.LocalStoreClearMiddleware',
    'johnny.middleware.QueryCacheMiddleware',
    #'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    #'django.middleware.cache.FetchFromCacheMiddleware',
)

我不知道去哪里找,或者不知道是什么引起了这种情况。欢迎提供任何线索。

【问题讨论】:

  • 能否发布完整的调试信息?
  • 可能不是 Django 错误。您的用户(您的网络服务器)无权读取某些目录或文件。
  • 好吧,它在产品服务器上。即使我有 DEBUG=True 我得到标准错误,没有任何调试信息......我怀疑来自 apache 模块的某些东西(管理员证明我不是 mod_security)
  • 只有当您想创建一个新用户时才会出现错误?删除用户后会发生什么?
  • 删除用户时有效...

标签: django apache django-authentication http-status-code-403 mod-security


【解决方案1】:

您的用户可能没有添加新用户的权限。在这种情况下返回 403 代码是正常行为。请查看文档:https://docs.djangoproject.com/en/dev/topics/auth/#django.contrib.auth.decorators.permission_required.

并且(在这种情况下)您的用户可以拥有删除用户的权限,因为这是分离的权限。

您可以查看该用户的权限:http://yoursite.com/admin/auth/user/{user_id}/(来自超级用户或可以查看其他用户权限的用户)。

更新。问题的作者找到了决定:这种情况是因为 Apache 设置(关闭 mod_security 解决了问题)。不幸的是,我对该模块没有深入的了解,也无法提供更详细的信息。

【讨论】:

  • 但我尝试添加一个具有超级用户角色的用户。所以无论如何我应该都能做到。
  • 检查是否在提到的页面上检查了超级用户标志。
猜你喜欢
  • 2013-01-08
  • 1970-01-01
  • 1970-01-01
  • 2016-07-30
  • 2015-12-02
  • 2017-08-06
  • 2020-11-04
  • 2016-03-12
  • 1970-01-01
相关资源
最近更新 更多