web2py中的默认用户组创建行为

时间:2012-03-29 22:13:02

标签: authentication web2py

在阅读web2py手册时,我发现了以下内容:

  

'一旦注册了新用户,就会创建一个新组来包含   用户。新用户的角色通常是“user_ [id]”,其中   [id]是新创建的id的id。'

让我想知道为什么Web2py会这样做。更具体地说,为什么我们需要创建这么多看似冗余的组,其中每个组只包含一个用户?例如,为了包含身份'user_2'的用户而创建名为'2'的群组的目的是什么?

如果不存在特定的理由,是否有任何方法可以禁用为个人用户自动创建唯一组的默认行为,以便可以单独创建更有意义的组?感谢。

2 个答案:

答案 0 :(得分:5)

下一句话说:

  

可以使用

禁用组的创建
    1. auth.settings.create_user_groups = False

接着说:

  

用户拥有群组成员资格。每个组都由名称/角色标识。组具有权限。用户因其所属的群组而拥有权限。

它是一个基于角色的访问控制(RBAC)系统,因此组/角色而不是单个用户被授予权限,并且用户凭借其所属的组(包括他们自己的用户特定组)获得访问权限。这在chapter intro

中有更全面的解释

如果您不需要为单个用户授予特定权限,而只需要为更广泛定义的组/角色授予权限,则可以根据上述内容自行禁用自动创建用户的组。

答案 1 :(得分:0)

您可以将user2添加到user1组,以便user2获取user1的权限。在许多情况下它很有用......