Signalr 信令器跨域连接用户身份验证
我在一个单独的域上托管我的signarhub,并从我的主应用程序跨域连接到hub。当用户登录到主应用程序时,将建立信号器连接。现在,我遇到的问题是如何识别集线器中的已连接用户。如果我的集线器在主应用程序中,那么我可以使用登录用户的UserContext并维护一个字典(例如来自MessengR应用程序),并在连接和断开连接事件时更新它们Signalr 信令器跨域连接用户身份验证,signalr,signalr-hub,Signalr,Signalr Hub,我在一个单独的域上托管我的signarhub,并从我的主应用程序跨域连接到hub。当用户登录到主应用程序时,将建立信号器连接。现在,我遇到的问题是如何识别集线器中的已连接用户。如果我的集线器在主应用程序中,那么我可以使用登录用户的UserContext并维护一个字典(例如来自MessengR应用程序),并在连接和断开连接事件时更新它们 private static readonly ConcurrentDictionary<string, List<string>>
private static readonly ConcurrentDictionary<string, List<string>> _userConnections = new ConcurrentDictionary<string, List<string>>();
private static readonly ConcurrentDictionary<string, string> _reverseLookup = new ConcurrentDictionary<string, string>();
私有静态只读ConcurrentDictionary _userConnections=new ConcurrentDictionary();
私有静态只读ConcurrentDictionary _reverseLookup=new ConcurrentDictionary();
但是作为一个跨域连接,我没有UserContext,也无法知道该连接ID属于谁。我在这里迷路了。是否可以在Connect()事件上从客户端传递查询字符串?我有一个标识用户的令牌,可以用来跟踪。或者以其他方式将用户链接到连接ID。如果有人能给我一些指导。谢谢 我有同样的问题…你解决了吗?没有,我早就转到NodeJS和socket.io了。我不知道是否有任何变化,在可能的副本