为不同类型的用户使用两个不同的身份验证后端

这个问题在这里已经有了答案:

  • Django多重身份验证后端基于状态2答案

  • django提供了一个AUTHENTICATION_BACKENDS设置,它应该AUTHENTICATION_BACKENDS你的要求。

    AUTHENTICATION_BACKENDS = (
        'django.contrib.auth.backends.ModelBackend',
    )
    

    我们看起来像这样....

    AUTHENTICATION_BACKENDS = (
        'social_auth.backends.facebook.FacebookBackend',  # fb backend par social_auth
        'social_auth.backends.twitter.TwitterBackend',  # twitter backend par social_auth
        'backends.EmailAuthBackend',
        'backends.APIAuthBackend',
        'django.contrib.auth.backends.ModelBackend',
    )
    

    在这种情况下, backends.APIAuthBackend是我们检查提供的用户身份验证令牌的地方。 你只需要在这个类的def authenticate方法中写入你的验证代码,如果该令牌存在就返回一个用户。

    django文档提供了更多信息。

    https://docs.djangoproject.com/en/dev/topics/auth/customizing/#writing-an-authentication-backend

    链接地址: http://www.djcxy.com/p/33801.html

    上一篇: use two different authentication backends for different types of users

    下一篇: how to custom User model / custom backend for authenticate()