【发布时间】:2015-04-15 11:55:25
【问题描述】:
我正在尝试构建一个主要由大学生维护和使用的 Django 网站。我需要限制某些获得批准的学生对几个页面的访问,但是如果我需要为每个想要登录的学生创建一个新的 Django 用户,这将是非常难以维护的。幸运的是,大学提供了一个 API 来检查用户名是否/密码组合正确。所以我想创建一个与 Django 模型互补的身份验证模型,用户的大学帐户可以得到管理员的批准,之后它是查看某些页面的有效登录。
所以本质上,一些用户可能使用 Django 帐户(如果他们负责网站的内容),而其他用户可能只是使用他们的 uni 帐户登录查看一些页面。对于 uni 帐户,应存储最少的信息量(换句话说,仅需要用户名来批准某些用户)。
我似乎无法弄清楚如何在 Django 中构建这样的系统。我不能使用标准的User 对象,因为它存储的数据是完全冗余的,我不能使用substitute the user model,因为那只会让事情变得异常复杂。完全忘记User 模型似乎是合理的,但Authenticate 需要返回一个有效用户。这让我想知道,我是否可以使用尽可能少的信息(除了用户名之外的虚拟数据)创建常规 Django 用户,然后使用 API 对他们进行身份验证?可能,但这似乎不是一个好主意。
【问题讨论】:
标签: python django django-authentication