鉴于需要如此细粒度的访问权限,您可能需要考虑常规的公共主题是否是最佳解决方案。也许您可以多谈谈您的具体用例?
一个很好的起点确实是我的私有回复插件。它有一个名为 can_see_post_if_author_among 的函数,该函数目前接受一个主题。您应该修改它以接受一个帖子。您应该将允许的用户与帖子一起存储在自定义字段中,然后将查看用户与该列表进行比较。
该插件还覆盖了原始帖子、搜索、主题视图和用户个人资料活动的访问控制逻辑。
话虽如此,我预计您会遇到性能和用户体验方面的一些问题,特别是如果您没有 Discourse 插件开发经验,这可能是一项艰巨的任务,因此我再次建议您考虑这是否是您用例的最佳方法。