无需密码即可授予用户访问权限

时间:2020-10-22 22:37:50

标签: python django django-models

我对django身份验证和用户系统有疑问。

我正在创建一个网站,通过外部身份验证系统进行身份验证,该身份验证系统将生成JWT。
目前,我有一个配置文件模型,如下所示:

class Profile(models.Model):
    first_name = models.CharField(max_length=20, default="")
    last_name = models.CharField(max_length=20, default="")
    email = models.EmailField(max_length=50, unique=True, default="")
    em_user_key = models.IntegerField(null=True, blank=True, unique=True)
    lab = models.CharField(max_length=7, null=True, blank=True)
    is_looking_for_job = models.BooleanField(default=False)
    is_single = models.BooleanField(default=False)
    description = models.TextField(null=True, blank=True)
    image = models.ImageField(null=True, blank=True)
    resume = models.FileField(null=True, blank=True)
    git_account = models.URLField(max_length=500, null=True, blank=True)
    facebook_account = models.URLField(max_length=500, null=True, blank=True)
    linkedin_account = models.URLField(max_length=500, null=True, blank=True)

    def __str__(self):
        return self.first_name + " " + self.last_name

所以我根本不需要用户模型,但我想生成更新/删除和验证用户的权限。
我在djangoproject中看到:
“使用authenticate()来验证一组凭据。它将凭据作为默认情况下的关键字参数,用户名和密码,针对每个身份验证后端检查它们,如果凭据对后端有效,则返回User对象。凭据对任何后端无效,或者如果后端引发PermissionDenied,则它返回None。“
但我不想创建用户。
有没有不使用django用户模型的方法吗?如果可以,怎么办?

0 个答案:

没有答案