你可以有多个身份验证后端。只需AUTHENTICATION_BACKENDS
在settings.pyDjango
项目中设置in 即可列出你要使用的后端实现。例如,我经常结合使用OpenID身份验证和标准Django身份验证,例如settings.py
:
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'django_openid_auth.auth.OpenIDBackend',
)
在此示例中,Django首先将尝试使用进行身份验证django.contrib.auth.backends.ModelBackend
,这是Django的默认后端。如果失败,则继续进行到下一个后端django_openid_auth.auth.OpenIDBackend
。
请注意,你的自定义后端必须位于Django可见的路径中。在此示例中,我必须添加django_openid_auth到INSTALLED_APPS,否则Django将无法导入它并将其用作后端。