Django身份验证凭据与用户数据分开

时间:2019-01-04 22:51:50

标签: django django-authentication

我正在建立一个系统,除非特别提供,否则许多帐户将没有登录凭据(例如公司)。为此,我有以下帐户模型(尚未实现,目前正在设计中):

Table: Account
  Fields: ID, fname, lname, type, created_at, activated_at

Table: AccountCredentials
  Fields: Account ID, email, password

Relations:
  Account <- 1-to-1 -> AccountCredentials

所有权限,操作等将在帐户模型上执行;因此,帐户模型将是django auth用户模型。

我以前使用过自定义的用户模型和管理器;但是,我不确定该如何实现。

我应该如何告诉AbstractBaseUser模型使用credentials.emailcredentials.passwordcredentials是Account和AccountCredentials之间的关系名称)进行身份验证?通过检查AbstractBaseUser源代码和检查一些文件,似乎我可以重写get_username方法;这样就可以从凭据中读取用户名字段。但是,我不确定如何对密码进行相同的操作,因为它是在模型中硬编码的。

0 个答案:

没有答案