你好!
可以请您审阅一下这个 PR 吗?
我们正在尝试创建一个特定区域的讨论区,用户的成员身份将限制他们加入某些群组,但目前这与匿名用户支持存在冲突,因为匿名用户没有任何群组关联。
此 PR 为匿名用户添加了群组关联。
你好!
可以请您审阅一下这个 PR 吗?
我们正在尝试创建一个特定区域的讨论区,用户的成员身份将限制他们加入某些群组,但目前这与匿名用户支持存在冲突,因为匿名用户没有任何群组关联。
此 PR 为匿名用户添加了群组关联。
您是否考虑过这会增加匿名化攻击的风险?
感谢您提出这个话题!
我已经考虑了匿名化攻击,您说得对——用户组继承并非适合所有人,尤其容易受到高基数组隶属关系实例的攻击。如PR中所述,最初的设想是在区域组中支持匿名发帖,在我们的实例中,这些组的基数将是隐式低的。
编辑:我添加了一个名为anonymous_user_inheritance的用户组属性,允许管理员选择用户组是否由匿名用户继承。我还为启用该功能的管理员设置添加了警告,并乐于接受任何进一步的建议。
这是请求 PR 审核的正确类别,还是我应该将其发布到其他类别?
谢谢!
目前还没有专门用于请求代码评审的类别,因此这里可能是最合适的。
PRs 经常受到欢迎,不过在深入研究之前,最好确认一下这是 Discourse 希望推进的方向/功能。
另外,你也可以考虑在插件中引入此功能,这样就可以在不合并到主代码的情况下使用它。
感谢您的建议!插件确实能很好地满足我们的需求,但这个更改需要数据库迁移。插件是否可以进行迁移?
是的,您可以在插件中运行数据库迁移。
可以,但 IMO 在插件中修改核心表是不好的做法。
如果你将此移至插件,最好使用 group_custom_fields 或你自己的指定表。
在这种特定情况下,你也可以(代替)添加一个站点设置,如“允许的继承组”,并让管理员选择所有可以继承到此单个设置中的组。这将使事情变得更简单,并将插件提供的所有功能分组到一个地方。
感谢您的反馈,Richard!您能帮我理解您的第二个提议吗?
在此单个设置中选择所有可以继承的组
为了确认我的理解,您的建议是有一个通用的站点设置来允许组继承,然后在每个单独组的设置页面上,有一个复选框来指示该组是否可继承,这与我现在拥有的类似,只是删除了冗余的设置。
在此单个设置中选择所有可以继承的组
您是建议以上内容,还是有其他想法?我最初的想法是构建一种选择工具,其中有一个复选框菜单或其他东西,但这很快就变得在实现上很复杂。
感谢您关于插件的提示!我将在未来的贡献中考虑插件选项。![]()
不,我的建议是不要在组页面上设置这个选项,而是有一个站点范围的设置,其中包含所有可继承的组。
类似的设置是“管理员 - 设置 - 用户 - 允许匿名发帖的组”。它不是每个组设置页面上的复选框“为此组允许匿名发帖”,而是包含允许匿名发帖的所有组的一个设置,
或者“管理员 - 设置 - 发帖 - 此处允许提及的组”,而不是每个组设置页面上的复选框“为此组允许提及”。
这样更容易实现,减少了数据库的混乱,并为论坛管理员提供了更好的概览。