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

问题描述:

注意:这是与安全有关的问题。SignalR中的用户有什么办法从客户端知道他属于哪个组?

我把用户放在组中,名称是敏感的(数据库对象id)。

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

从我的理解中,我假定SignalR是在其内核深处管理组,并且只与每个Connections进行通信,但我不确定。

所以我的问题是:

是否团体名称以及被从客户隐藏?

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

只有在您将组名传递给客户端时才会公开组名。

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

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

但是,您可以检查出使用角色帮助,如果您需要在特定的方法,如(link)限制: [Authorize(Roles = "Admin")] 公共类AdminAuthHub:集线器 { }