在SignalR .NET上,我们在客户端和服务器之间建立如下连接:
var connection = new HubConnection("http://mysite/");
接下来,我们订阅事件并开始连接,如下所示:
connection.Start().Wait();
如果我想在客户端和服务器之间建立安全连接,该怎么办?我们如何通过当前功能实现这一目标?
我注意到System.Net.ICredentials
类的属性类型为HubConnection
。这是这样的吗?如果是这样,我们应该如何在服务器端为我们的集线器处理Auth?
答案 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应用程序,默认网络凭据是登录用户或被模拟用户的用户凭据。