注意:这是一个与安全相关的问题。
我将用户放在组中,名称中等敏感(数据库对象ID)。
我从服务器端向组发送消息,而不是从客户端发送消息(这就是为什么将db对象ID放在组名中对我来说不是问题)。
根据我的理解,我假设SignalR管理其核心内部的组,并且只与每个Connections进行通信,但我不确定。
所以我的问题是:
组名是否对客户端隐藏得很好?
或者用户(来自客户端)是否可以发现他属于哪个组? (如果开发人员假设组名称隐藏/不可访问,则可能会发现敏感数据)
答案 0 :(得分:0)
如果您将组名称传递给客户端,则只会公开组名称。
从服务器端,SignalR没有用于维护或公开此API的API。您可以维护自己的组名,因此任何曝光都来自您自己的行为。
就安全性而言,应该在SignalR之外处理。
但是,如果您需要限制特定方法(例如link),则可以使用角色来查看:
[Authorize(Roles = "Admin")]
公共类AdminAuthHub:Hub
{
}