Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Signalr 信令器跨域连接用户身份验证_Signalr_Signalr Hub - Fatal编程技术网

Signalr 信令器跨域连接用户身份验证

Signalr 信令器跨域连接用户身份验证,signalr,signalr-hub,Signalr,Signalr Hub,我在一个单独的域上托管我的signarhub,并从我的主应用程序跨域连接到hub。当用户登录到主应用程序时,将建立信号器连接。现在,我遇到的问题是如何识别集线器中的已连接用户。如果我的集线器在主应用程序中,那么我可以使用登录用户的UserContext并维护一个字典(例如来自MessengR应用程序),并在连接和断开连接事件时更新它们 private static readonly ConcurrentDictionary<string, List<string>>

我在一个单独的域上托管我的signarhub,并从我的主应用程序跨域连接到hub。当用户登录到主应用程序时,将建立信号器连接。现在,我遇到的问题是如何识别集线器中的已连接用户。如果我的集线器在主应用程序中,那么我可以使用登录用户的UserContext并维护一个字典(例如来自MessengR应用程序),并在连接和断开连接事件时更新它们

    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了。我不知道是否有任何变化,在可能的副本