为匿名和登录用户设置基于组的细粒度权限

没问题!很高兴 disallowed_groups 能帮上忙。我已经合并了那个 PR。

既然我们现在有了 disallowed_groupsresolve_group_memberships,我需要全面检查一遍所有的官方主题和组件。建议你和 @moin 在方便的时候也对你们自己的主题和组件进行同样的检查,因为在我对官方仓库进行修改之后,我非常希望能推进将原帖中提到的变更设为“稳定版”(stable)。

目前有许多其他核心工作都依赖或使用了 anonymous_userslogged_in_users,我非常希望能删除 everyone 这个组。

2 个赞

嘿 Martin - 有个问题:

我刚刚对实例进行了完整更新,现在正在根据这里的自动组 ID,将 disallowed_groups 对象设置添加到我的组件中,针对 everyone(所有人)和 anonymous_users(匿名用户):

像这样:

      groups:
        type: groups
        disallowed_groups: "0|4"
        required: true
        resolve_group_membership: true
        validations:
          max: 20

但在组件组下拉设置中仍然显示 everyone(所有人):

我在对象设置中哪里做错了?我注意到即使对象中没有 disallowed_groups,它也不会显示 anonymous_users(匿名用户)组(所以目前,无论我是否设置 disallowed_groups,我组件中的列表都没有区别)。我用其他组 ID 进行了测试,我在使用 disallowed_groups(或语法)时一定做错了什么,因为无论使用哪些 ID,它似乎都没有任何效果。

4 个赞

哦,今天早些时候 GitHub 上出现了一些问题,所以 disallowed_groups 的更改才刚刚合并到最新的 Commits · discourse/discourse · GitHub 中。

我不完全确定这就是问题所在,但你能再试一次更新,看看问题是否仍然存在吗?如果没有,请告诉我,并指向你的主题组件(或者只是你的群组侧边栏组件?),以便我进行调试 :slight_smile:

1 个赞

我想这是因为你用于测试的那个论坛禁用了即将生效的更改。我已经启用了它,现在该组可见了。


我还更新了论坛,everyoneanonymous_users 组按预期被隐藏了。


澄清一下:两周前是我禁用了这项更改 :innocent:

3 个赞

哈哈 :smiley: 谢谢 Moin! 我其实忘了新的细粒度群组设置本来就在即将推出的更新里。

Martin,disallowed_groups 对象设置运行得完美无缺。 我非常喜欢这个改动。再次感谢团队——真是个大改进。:discourse: :chefs_kiss:

3 个赞