SignalR中的用户有什么方法可以从客户端知道他属于哪个组?

时间:2017-07-26 09:30:14

标签: asp.net signalr

注意:这是一个与安全相关的问题。

我将用户放在组中,名称中等敏感(数据库对象ID)。

我从服务器端向组发送消息,而不是从客户端发送消息(这就是为什么将db对象ID放在组名中对我来说不是问题)。

根据我的理解,我假设SignalR管理其核心内部的组,并且只与每个Connections进行通信,但我不确定。

所以我的问题是:

组名是否对客户端隐藏得很好?

或者用户(来自客户端)是否可以发现他属于哪个组? (如果开发人员假设组名称隐藏/不可访问,则可能会发现敏感数据)

1 个答案:

答案 0 :(得分:0)

如果您将组名称传递给客户端,则只会公开组名称。

从服务器端,SignalR没有用于维护或公开此API的API。您可以维护自己的组名,因此任何曝光都来自您自己的行为。

就安全性而言,应该在SignalR之外处理。

但是,如果您需要限制特定方法(例如link),则可以使用角色来查看: [Authorize(Roles = "Admin")] 公共类AdminAuthHub:Hub { }