消息总线:通道订阅权限

你好,

我理解消息总线会根据文档向目标用户发布消息:

不过,我想知道是否有一种方法可以在客户端尝试订阅频道时检查权限,类似于这样:

MessageBus.on_subscribe('/bank_account_123') do
   if current_user.bank_account == 123
      # 订阅获准
   else
     # 订阅被拒
   end
1 个赞

我在这方面不是专家,但我觉得你应该在发布端(即向总线发送内容的地方)控制访问权限,而不是在监听端。

能否再多介绍一下您的使用场景?您打算构建什么?

1 个赞

我们正在重构其中一个应用,用 Message Bus 替换 Action Cable。我们之前的模式是在订阅时检查权限,但现在我认为可以按 Message Bus 的设计初衷来使用它了。所以没问题。顺便说一句,Message Bus 做得非常出色。:slightly_smiling_face:

2 个赞