我正在尝试在 Django 1.5 中使用多个身份验证后端。
我想RemoteUserBackend
与自定义header
和标准一起使用ModelBackend
似乎我可以使一项或另一项工作,但不能两者兼而有之。如果我尝试使用登录,ModelBackend
则会收到此错误:
"'CustomHeaderMiddleware' object has no attribute 'authenticate'"
设置.py:
MIDDLEWARE_CLASSES = (
...
'myapp.backends.custom_auth.CustomHeaderMiddleware',
...
)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'django.contrib.auth.backends.RemoteUserBackend',
'myapp.backends.custom_auth.CustomHeaderMiddleware',
)
custom_auth.py:
from django.contrib.auth.middleware import RemoteUserMiddleware
class CustomHeaderMiddleware(RemoteUserMiddleware):
header = "CUSTOM_USERID"
我不确定我错过了什么。如果我设置了“CUSTOM_USERID”,它可以工作,但我不能使用标准登录。
我错过了什么?