ice*_*x3d 4 django django-models django-admin django-authentication python-2.7
我想知道如何告诉Django使用哪个身份验证后端,如果用户被标记为人员,或者他们不是.
可以这样做吗?
由于Django使用身份验证后端来获取用户对象,因此在我们调用后端时不知道用户是否会将其标记为人员.
仍然可以通过链接后端来为员工和非员工用户使用不同的后端,如指定身份验证后端中所述.例如,如果您的设置是:
AUTHENTICATION_BACKEND = (
'myapp.auth.StaffUserBackend',
'django.contrib.auth.backends.ModelBackend',
)
Run Code Online (Sandbox Code Playgroud)
这里myapp.auth.StaffUserBackend
只能识别用户的工作人员,当用户验证会出现这种情况:
StaffUserBackend
.StaffUserBackend
返回用户对象,我们就完成了.ModelBackend
.ModelBackend
返回该User
对象,并像往常一样对用户进行身份验证.