.NET客户端和服务器之间的SignalR安全连接

时间:2012-03-15 15:32:58

标签: asp.net signalr

在SignalR .NET上,我们在客户端和服务器之间建立如下连接:

var connection = new HubConnection("http://mysite/");

接下来,我们订阅事件并开始连接,如下所示:

connection.Start().Wait();

如果我想在客户端和服务器之间建立安全连接,该怎么办?我们如何通过当前功能实现这一目标?

我注意到System.Net.ICredentials类的属性类型为HubConnection。这是这样的吗?如果是这样,我们应该如何在服务器端为我们的集线器处理Auth?

1 个答案:

答案 0 :(得分:25)

以下是我设置的方法:

  var hubConnection = new HubConnection("http://siteurl");
  hubConnection.Credentials = CredentialCache.DefaultNetworkCredentials;
  hubProxy = hubConnection.CreateProxy("My.Hub.Namespace");

  hubConnection.Start().Wait();

您当然可以传递不同的凭据,我使用DefaultNetworkCredentials

  

DefaultNetworkCredentials返回的凭据表示运行应用程序的当前安全上下文的身份验证凭据。对于客户端应用程序,这些应用程序通常是运行应用程序的用户的Windows凭据(用户名,密码和域)。对于ASP.NET应用程序,默认网络凭据是登录用户或被模拟用户的用户凭据。