gpt4 book ai didi

django - django 中没有 auth.models.User 的 session ID token

转载 作者:行者123 更新时间:2023-12-02 05:45:32 27 4
gpt4 key购买 nike

我知道当用户获取 sessionid< 时,可以使用内置的 django login(request, user), request.is_authenticated 设置身份验证 cookie,以及身份验证(请求,用户名=“foo”,密码=“bar”)

但是,在此接口(interface)下,django 在数据库中创建一个 User 对象。我正在使用其他方式进行身份验证,即 LDAP。我可以选择每次只传递 LDAP 的用户名和密码,但拥有 sessionid token 将是理想的选择。

有没有办法使用相同的 login()、request.is_authenticated、authenticate() API,但不使用下面的 User 模型?另一种选择也很好。我的一个限制是我不想使用另一个库。

谢谢!

最佳答案

据我所知,如果没有 User 模型,就不可能使用 djangos 身份验证/自动化框架。

在文档讨论 customizing authentication 的部分,它始终以 User 模型为中心(即使它是您的自定义用户模型)。

<小时/>

话虽如此,您可以研究一些非常黑客的东西:创建您的 custom user model未存储在数据库中。

为此,您可能需要自定义字段和管理器来防止数据库调用,同时仍使某些字段在模型中可用(例如电子邮件用户名)。我从未尝试过,但通过在正确的位置覆盖 djangos 默认行为应该是可能的。

<小时/>

但是所有这些努力可能不值得。只需写下您的 own authentication backend在针对 LDAP 源成功进行身份验证后,它会自动创建一个 User 实例,因此您可以“充分利用 django User 模型的潜力”。

关于django - django 中没有 auth.models.User 的 session ID token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50223565/

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