@Noble_Fish ,这是基于 AI 生成的按组设置列表,包含每个设置的用途,以及匿名用户/已登录用户如何受该设置影响。请注意,虽然我有相当把握认为这是正确的,但就像所有 AI 生成的内容一样,最好还是你自己核实一下事实。
我认为最有趣的列是“everyone 在更改前是否也包含 anonymous_users?”,如果这里是 Yes,那就意味着在应用即将进行的更改之前,everyone 指的是已登录用户和匿名用户。
如你所见,其中只有少数几个,因此管理员只需要在站点设置中明确将 anonymous_users 添加到这些设置中:
hidden_post_visible_groups- 我实际上需要修改这一项以允许anonymous_users,当前的代码对于即将进行的更改来说并不完全正确。lazy_load_categories_groups- 我也需要修复这一项,它执行了一个多余的everyone检查,而user.in_any_groups?内部已经完成了这个检查。styleguide_allowed_groups- 这一项目前可以正常工作,但我会稍微调整一下。
当即将进行的更改变为永久时,将仅使用 logged_in_users 和 anonymous_users 组,而 everyone 将被删除。
| 设置项 | 描述 | logged_in_users 是否适用? |
anonymous_users 是否适用? |
everyone 在更改前是否也包含 anonymous_users? |
代码查找结果 |
|---|---|---|---|---|---|
whispers_allowed_groups |
允许指定组的成员在主题内进行私密通信。 | 否 | 否 | 否 | 不允许 everyone、logged_in_users 和 anonymous_users;运行时还期望具体的组/成员资格。 |
hidden_post_visible_groups |
允许这些组的成员查看隐藏帖子。工作人员用户始终可以查看隐藏帖子。 | 是 | 否 | 是 | 在拒绝匿名用户之前检查 everyone;否则使用 in_any_groups?。 |
about_page_hidden_groups |
不在 /about 页面上显示特定组的成员。 |
否 | 否 | 否 | 使用 group_users;伪组没有成员行。 |
about_page_extra_groups |
在关于页面上版主下方显示的组。 | 否 | 否 | 否 | 加载具体组及其成员以进行显示。 |
anonymous_posting_allowed_groups |
允许启用匿名发帖的组。 | 是 | 否 | 否 | 通过 in_any_groups? 进行已登录用户门控;不允许 anonymous_users。 |
personal_message_enabled_groups |
允许这些组中的用户创建个人消息。 | 是 | 否 | 否 | 通过 in_any_groups? 进行已登录用户门控;不允许 anonymous_users。 |
shared_drafts_allowed_groups |
允许这些组中的用户查看和编辑共享草稿。 | 是 | 否 | 否 | Guardian/用户门控;不允许 anonymous_users。 |
here_mention_allowed_groups |
允许提及 @here 的组。 |
是 | 否 | 否 | 需要已认证用户;不允许 anonymous_users。 |
approve_unless_allowed_groups |
不属于这些组的用户发布的帖子必须经过审核。 | 是 | 否 | 否 | 通过 in_any_groups? 进行用户门控;不允许 anonymous_users。 |
approve_new_topics_unless_allowed_groups |
不属于这些组的用户创建的新主题必须经过审核。 | 是 | 否 | 否 | 通过 in_any_groups? 进行用户门控;不允许 anonymous_users。 |
skip_review_media_groups |
这些组之外的用户发布的包含嵌入媒体的帖子将发送进行审核。 | 是 | 否 | 否 | 通过 in_any_groups? 进行用户门控;不允许 anonymous_users。 |
content_localization_allowed_groups |
允许更新本地化内容的组。 | 是 | 否 | 否 | Guardian/用户门控;不允许 anonymous_users。 |
email_in_allowed_groups |
允许通过电子邮件发布新主题的组。 | 是 | 否 | 否 | 电子邮件发送者用户门控;不允许 anonymous_users。 |
view_raw_email_allowed_groups |
可以查看原始传入电子邮件内容的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
uploaded_avatars_allowed_groups |
指定允许上传自定义头像的组。 | 是 | 否 | 否 | 当前/目标用户门控;不允许 anonymous_users。 |
create_topic_allowed_groups |
允许创建新主题的组。 | 是 | 否 | 否 | 需要用户并使用 in_any_groups?;不允许 anonymous_users。 |
topic_timers_allowed_groups |
允许设置主题计时器的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
edit_wiki_post_allowed_groups |
允许编辑标记为 wiki 的帖子的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
edit_post_allowed_groups |
允许编辑帖子的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
self_wiki_allowed_groups |
允许这些组中的用户将自己的帖子设为 wiki。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
send_email_messages_allowed_groups |
允许通过电子邮件发送个人消息的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
flag_post_allowed_groups |
允许标记帖子的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
post_links_allowed_groups |
允许在帖子中包含链接的组。 | 是 | 否 | 否 | 需要已认证用户;不允许 anonymous_users。 |
embedded_media_post_allowed_groups |
这些组中的用户允许在帖子中嵌入媒体项目。 | 是 | 否 | 否 | 操作用户门控;不允许 anonymous_users。 |
profile_background_allowed_groups |
允许上传个人资料背景的组。 | 是 | 否 | 否 | 用户门控;不允许 anonymous_users。 |
user_card_background_allowed_groups |
允许上传用户卡片背景的组。 | 是 | 否 | 否 | 用户门控;不允许 anonymous_users。 |
invite_allowed_groups |
允许邀请用户的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
ignore_allowed_groups |
允许忽略其他用户的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
delete_all_posts_and_topics_allowed_groups |
允许删除其他用户创建的帖子和主题并查看已删除内容的组。 | 是 | 否 | 否 | Guardian/当前用户门控;不允许 anonymous_users。 |
edit_all_topic_groups |
允许该组中的用户编辑其他用户的主题标题、标签和类别。 | 是 | 否 | 否 | 原始分割后使用 in_any_groups?;不允许 anonymous_users。 |
edit_all_post_groups |
允许该组中的用户编辑其他用户的帖子。 | 是 | 否 | 否 | 通过 in_any_groups? 进行用户门控;不允许 anonymous_users。 |
change_post_ownership_allowed_groups |
允许这些组中的用户更改帖子所有权。 | 是 | 否 | 否 | 当前用户门控;不允许 anonymous_users。 |
cross_origin_opener_unsafe_none_groups |
隐藏的 COOP 覆盖组;匹配的用户将获得 Cross-Origin-Opener-Policy: unsafe-none。 |
是 | 否 | 否 | 需要 current_user.present?;匿名选择在运行时没有影响。 |
user_api_key_allowed_groups |
生成用户 API 密钥所需的组成员资格。 | 是 | 否 | 否 | 当前用户门控;不允许 anonymous_users。 |
create_tag_allowed_groups |
允许创建标签的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
edit_tags_allowed_groups |
允许编辑标签、标签描述和标签同义词的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
tag_topic_allowed_groups |
允许为主题添加标签的组。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
pm_tags_allowed_for_groups |
允许包含的组成员标记任何个人消息。 | 是 | 否 | 否 | Guardian 用户门控;不允许 anonymous_users。 |
lazy_load_categories_groups |
仅为这些组的用户懒加载类别信息。 | 是 | 是 | 是 | 显式的 everyone 检查加上 guardian in_any_groups?;anonymous_users 具有实际意义。 |
chat_allowed_groups |
这些组中的用户可以聊天,但匿名用户只有在添加到该设置时才能查看聊天。 | 是 | 是 | 否 | 已登录聊天使用 in_any_groups?;匿名公共聊天显式检查 anonymous_users。 |
direct_message_enabled_groups |
允许这些组中的用户创建用户间个人聊天。 | 是 | 否 | 否 | 已登录聊天 guardian 门控;没有有意义的匿名 DM 路径。 |
chat_pinning_messages_allowed_groups |
这些组中的用户允许固定聊天消息。 | 是 | 否 | 否 | 需要聊天访问权限/当前用户;没有匿名固定路径。 |
chat_message_flag_allowed_groups |
这些组中的用户允许标记聊天消息。 | 是 | 否 | 否 | 用户门控;匿名路径被周围的聊天权限阻止。 |
no_ads_for_groups |
不向这些组中的用户显示广告。 | 是 | 否 | 否 | 仅添加到 current_user 序列化器;没有匿名当前用户负载。 |
adsense_exclude_groups |
不会向这些组的成员显示广告。 | 是 | 否 | 否 | 通过 in_any_groups? 进行当前用户广告标志;没有匿名当前用户负载。 |
dfp_exclude_groups |
不会向这些组的成员显示广告。 | 是 | 否 | 否 | 通过 in_any_groups? 进行当前用户广告标志。 |
amazon_exclude_groups |
不会向这些组的成员显示广告。 | 是 | 否 | 否 | 通过 in_any_groups? 进行当前用户广告标志。 |
carbonads_exclude_groups |
不会向这些组的成员显示广告。 | 是 | 否 | 否 | 通过 in_any_groups? 进行当前用户广告标志。 |
adbutler_exclude_groups |
不会向这些组的成员显示广告。 | 是 | 否 | 否 | 通过 in_any_groups? 进行当前用户广告标志。 |
composer_ai_helper_allowed_groups |
这些组中的用户将在编辑器中看到 AI 助手按钮。 | 是 | 否 | 否 | 通过 in_any_groups? 进行已登录 AI 助手门控。 |
post_ai_helper_allowed_groups |
允许访问帖子中 AI 助手功能的用户组。 | 是 | 否 | 否 | 通过 in_any_groups? 进行已登录 AI 助手门控。 |
ai_pm_summarization_allowed_groups |
允许在个人消息中创建和查看摘要的组。 | 否 | 否 | 否 | 使用原始 user.group_ids,因此伪组不匹配。 |
ai_bot_debugging_allowed_groups |
允许这些组查看显示原始 AI 请求和响应的调试按钮。 | 是 | 否 | 否 | 对匿名用户显式返回 false,然后使用 in_any_groups?。 |
ai_bot_allowed_groups |
当 GPT Bot 有权访问个人消息时,它将回复这些组的成员。 | 是 | 否 | 否 | 主要门控使用 in_any_groups?;一个游乐场路径使用原始 group_ids。 |
ai_bot_public_sharing_allowed_groups |
允许这些组通过唯一链接与公众共享 AI 个人消息。 | 是 | 否 | 否 | 对匿名用户显式返回 false,然后使用 in_any_groups?。 |
assign_allowed_on_groups |
这些组中的用户允许分配主题。 | 否 | 否 | 否 | 使用原始 user.group_ids/GroupUser;伪组没有行。 |
discourse_post_event_allowed_on_groups |
允许创建事件的组。 | 否 | 否 | 否 | 原始 groups.where(id: ...);everyone 是特殊处理的,但 logged_in_users 不是。 |
discourse_kanban_manage_board_allowed_groups |
允许创建和配置看板板的组。 | 是 | 否 | 否 | Guardian 使用 in_any_groups?,但写控制器需要登录。 |
create_policy_allowed_groups |
向帖子添加策略所需的组成员资格。 | 是 | 否 | 否 | 通过 in_any_groups? 进行帖子/用户门控。 |
flag_posts_voting_comments_allowed_groups |
允许标记帖子投票评论的组。 | 是 | 否 | 否 | 通过 in_any_groups? 进行用户门控。 |
allow_solved_in_groups |
允许在这些组的组消息中标记解决方案。 | 无用户门控 | 无用户门控 | 无用户门控 | 匹配 PM topic.allowed_groups,而不是当前用户成员资格。 |
accept_all_solutions_allowed_groups |
允许在任何主题上接受解决方案的组。 | 是 | 否 | 否 | 通过 in_any_groups? 进行已认证/当前用户门控。 |
discourse_templates_groups_allowed_private_templates |
允许使用私有模板的组。 | 否 | 否 | 否 | 原始 GroupUser.exists?;仅 everyone 是特殊处理的。 |
poll_create_allowed_groups |
允许创建投票的组。 | 是 | 否 | 否 | 通过 in_any_groups? 进行操作/当前用户门控。 |
styleguide_allowed_groups |
将样式的可见性限制为所提供组的成员。 | 是 | 是 | 是 | 控制器显式处理 anonymous_users;在更改之前也允许通过 everyone 进行匿名访问。 |