可以将类别通知(通过 /g/[group_name}/manage/categories)添加到用户组无权查看的类别中。例如,您可以设置所有 Trust_level_0 的成员关注 Staff 类别。甚至还有一个提示可以追溯性地应用更改:
如果 Discourse 真的进行了此更改,并开始向普通用户显示员工在私密对话中的内容,那将是_非常糟糕_的
。幸运的是,这个提示是骗人的。在(在暂存实例上)进行了这项非常可怕的更改后,我可以冒充一个普通用户,并看到他们在其跟踪首选项(/my/preferences/tracking/)中没有设置此项,并且不会收到新活动的通知。类别安全按预期工作。
话虽如此,当我以管理员身份登录并查看用户的跟踪首选项时,我看到了这个:
我可以将他们添加到各种私密类别中,如果您不知道 Discourse 在后台正确管理着这些内容,这可能会引起短暂的恐慌。
我认为正确的方法是禁止管理员设置用户实际上无法读取的类别的跟踪首选项。这意味着,除非用户属于可以查看该类别的用户组,否则我不能在访问其他用户个人资料时手动添加类别。如果我使用批量更新将整个用户组添加到某个类别,如果该用户组无权读取该类别,系统将报错。
是否有任何理由允许管理员添加实际上不发送通知的通知设置?我能想到的唯一一种情况是,管理员计划将来开放某个类别,并希望为相应的用户组提前准备好通知。(但我不知道这是否合理。)

