【问题标题】:Change django-allauth email verification behaivior更改 django-allauth 电子邮件验证行为
【发布时间】:2020-11-17 19:59:17
【问题描述】:

Django 有内置的用户模型is_activefield。我假设 django-allauth 在成功验证电子邮件后将此字段设置为 True。

我会手动启用用户并通过 Django 管理界面将此字段更改为“true”。 是否可以从 django-allauth 更改此行为?

【问题讨论】:

    标签: django django-allauth


    【解决方案1】:

    is_active 就像您提到的那样,用于确定其是否为活动帐户,并且可以翻转为False 而不是删除帐户。但我认为 all-auth 不会对这个值做任何事情,当您创建 User 对象时,它会自动设置为 True

    您要查找的是一个单独的表,通常是“email_addresses”。这将显示哪些电子邮件地址已经过验证。

    【讨论】:

    • 所以,理论上为了防止用户登录,我可以使用allauth.account.signals.email_confirmed(request, email_address)信号并设置用户is_active=False。在这种情况下,我可以确定这封电子邮件已得到确认,同时阻止他们手动登录和管理此过程,对吗?
    • 是的,您可以...但我有点困惑,您为什么要在他们确认后立即停用他们的帐户?我认为他们之后将无法登录。
    • 因为它是 b2b 应用程序,并且在某些组织在应用程序上创建帐户后,我可以手动激活他们并发送电子邮件,他们现在可以使用该应用程序。
    猜你喜欢
    • 2014-04-23
    • 2018-09-14
    • 2013-11-14
    • 2021-02-24
    • 2015-10-22
    • 2020-05-29
    • 2020-09-14
    • 2016-07-02
    • 2014-11-09
    相关资源
    最近更新 更多