【问题标题】:Django - Custom dashboard view authentication issuesDjango - 自定义仪表板视图身份验证问题
【发布时间】:2010-07-18 20:12:06
【问题描述】:

Django 版本 1.1.1 我设置了一个自定义仪表板视图来覆盖 django 管理员 默认如:

(r'^admin/$', 'dashboard.views.dashboard'),
(r'^admin/', include(admin.site.urls)),

仪表板视图使用@staff_member_required 装饰器进行身份验证

这对于所有拥有超级用户权限的用户都可以正常工作 但是当试图登录一个只有员工身份的用户时(有 尝试了不同的权限设置)我抛出 500 服务器错误:

[Sun Jul 18 12:36:59 2010] [error] [client 127.0.0.1] mod_wsgi
(pid=13815): Exception occurred processing WSGI script '/home/......../
_site.wsgi'.
[Sun Jul 18 12:36:59 2010] [error] [client 127.0.0.1] Traceback (most
recent call last):
[Sun Jul 18 12:36:59 2010] [error] [client 127.0.0.1]   File "/
home/...../lib/python2.5/django/core/handlers/wsgi.py", line 245, in
__call__
[Sun Jul 18 12:36:59 2010] [error] [client 127.0.0.1]     response =
middleware_method(request, response)
[Sun Jul 18 12:36:59 2010] [error] [client 127.0.0.1]   File "/
home/....../lib/python2.5/django/contrib/sessions/middleware.py", line
26, in process_response
[Sun Jul 18 12:36:59 2010] [error] [client 127.0.0.1]
patch_vary_headers(response, ('Cookie',))
[Sun Jul 18 12:36:59 2010] [error] [client 127.0.0.1]   File "/
home/....../lib/python2.5/django/utils/cache.py", line 130, in
patch_vary_headers
[Sun Jul 18 12:36:59 2010] [error] [client 127.0.0.1]     if
response.has_header('Vary'):
[Sun Jul 18 12:36:59 2010] [error] [client 127.0.0.1] AttributeError:
'QuerySet' object has no attribute 'has_header'

当用户 @login_required 时,我也会遇到同样的错误。任何想法 这个?

谢谢

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

    也许您应该在公共注销 url 和管理员注销 url 中清理浏览器 cookie 并正确注销。我认为普通用户打开一个会话,而员工用户打开另一个会话,因此将两者混合在同一个应用中并不是一个好主意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 2016-11-07
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 2016-07-11
      相关资源
      最近更新 更多