在SignalR的Hub中传递userId

时间:2014-06-01 15:46:34

标签: c# asp.net signalr

问候..!,我正在使用SignalR进行asp.net聊天webApplication我想跟踪每个用户并存储操作是数据库。我使用userId来跟踪它们。 我的问题是我不想将机密数据(如userId)从客户端表单传递给signalR hub.And我知道SignalR hub类不支持会话。 那我怎么能这样做呢。

我是signalR的新手,我搜索了很多关于这个问题但是找不到任何简单的答案。

2 个答案:

答案 0 :(得分:2)

SignalR支持不同的方式来验证和授权用户:

  • 曲奇
  • Windows身份验证
  • 证书
  • 连接标题

您可以在此处找到有关SignalR和安全性的更多信息:

http://www.asp.net/signalr/overview/signalr-20/security/introduction-to-security

请记住,即使某些信息可能会被转移,但通常还有一个抽象,它并不能真正让某人将用户映射到令牌,反之亦然,而不是服务器。

身份验证和授权只是安全性的一小部分,通过使用SSL并仔细考虑您传输的内容,可以进一步说明。等等。

但是在某些方面,您需要在服务器端应用程序和调用者之间的相关信息之间建立链接。这可能是在基于经典表单的身份验证,基于哈希的标头或您想要创建的任何内容之后由cookie标识的会话。 SignalR非常灵活,因此您可以考虑针对不同系统的身份验证,并仅传递委托令牌。

答案 1 :(得分:0)

您可以通过不同的方式映射userId和connectionId。 看看this tutorial on asp.net