【问题标题】:Add password to Django Group model将密码添加到 Django Group 模型
【发布时间】:2018-09-23 03:17:11
【问题描述】:

是否可以对群组进行密码保护,以便用户只有在拥有群组密码的情况下才能加入群组?

我知道可以将字段添加到 Group 模型中

Group.add_to_class('password', CharField(max_length=180, null=True, blank=True))

但是我怎样才能以安全的方式实现呢?我希望密码被正确地散列和存储。本质上,如何将User 密码字段也添加到Group

编辑:

源中Group 类的文档字符串。

组是对用户进行分类以应用权限的通用方式, 或其他标签,给这些用户。一个用户可以属于任何号码 组。

除了权限之外,组是一种方便的方式来对用户进行分类 为它们应用一些标签或扩展功能。

我在这里使用的组只是一个标签,我想在用户尝试加入时使用密码保护该标签。

【问题讨论】:

  • 这不是 Django 组的用途。用户不会将自己放入组中,管理员会这样做。你确定这不是XY problem?您想要此功能的原因是什么?
  • 与其创建我自己的模型来将用户分组在一起,我认为我可以利用 Django 内置的 Group 模型,它提供了我需要的一切,除了密码保护组的方法。
  • 本质上,您希望用户能够使用密码加入群组。密码是特定于组(组中的所有用户使用相同的密码)还是特定于用户和组(每个用户每个组有一个密码)?
  • 特定于组。所有用户都将使用相同的密码访问该组。不同组的密码只需要不同

标签: django django-models django-authentication


【解决方案1】:

在考虑了您在 cmets 中的回答后,我相信您最好的选择是继承 Group,然后在其中实施身份验证程序。然后您可以使用 make_passwordcheck_passwordis_password_usable 文档中的 here 函数来管理身份验证过程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 2018-05-25
    • 2017-09-01
    • 2016-04-17
    • 1970-01-01
    • 2015-08-28
    相关资源
    最近更新 更多