gpt4 book ai didi

django - 为什么 django 需要一个数据库来自定义身份验证后端?

转载 作者:行者123 更新时间:2023-12-04 02:17:29 25 4
gpt4 key购买 nike

我实现了一个 Django 自定义身份验证后端。我的authenticate() 返回一个像这样的用户对象 return User(username=username, password=password),但我从未将用户对象存储到数据库中。

  1. 为什么 django 文档建议使用用户对象创建数据库? (https://docs.djangoproject.com/en/1.4/topics/auth/#writing-an-authentication-backend - “...处理此问题的最佳方法是为每个用户创建一个 Django 用户对象存在于您的后端...")

  2. 如果我尝试调用 login(),则会调用数据库。如果登录存储在 session 中,为什么需要数据库? (使用缓存 session )

最佳答案

您特别需要保存 User 对象的原因是,应用通常会在对象和用户之间创建数据库级别的关系(以便保持关系跨多个请求)。

一个简单的例子是 django.contrib.admin 中的事件日志。它显示用户最近执行的行为。这仅在用户对象保存到数据库时有效。

关于django - 为什么 django 需要一个数据库来自定义身份验证后端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10874675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com