SignalR WinAuth不起作用

时间:2016-09-01 11:00:40

标签: asp.net .net silverlight iis signalr

我在与Win Auth的SignalR连接中遇到问题。当我在IIS授权设置中启用匿名时,它可以工作,但有时它会提供HTTP 403 Forbidden错误。在我研究之后,我发现我需要禁用匿名连接。但是当在IIS中禁用并启用windowsAuth时,总会出现HTTP 401.2 UnAuthorized错误。我如何与WinAuth连接?对于我的项目,我需要使用WinAuth。

Not1:我正在使用Silverlight 5。

Not2:我已经在StackOverflow上尝试了可能的解决方案,但没有一个能够工作。

为什么我不能使用WinAuth?它在配置文件,IIS设置以及我的web.config中都可以启用。

我花了2天但仍无法找到解决方案。如果您需要更多信息,请撰写评论。我不确定我能分享哪些其他信息。我不想把很多不必要的文本放在这里。

编辑: 当我使用这段代码时,即如果我明确输入用户名和密码,那么它就可以了。 Internet Explorer首先使用匿名身份验证,然后失败,然后它直接使用NetworkCredentials。这是代码

hubConnection = new HubConnection("URL");
hub = hubConnection.CreateHubProxy("HUBNAME");
hubConnection.Credentials = new System.Net.NetworkCredential("ID", "PASSWORD");

(带有大写字母的那些特定于我的应用。)

那么我如何获得Silverlight应用程序的Windows凭据? DefaultCredentials不适用于silverlight。

1 个答案:

答案 0 :(得分:0)

您是否已向集线器添加授权?

[Authorize(Roles = "Admin")] 
public class AdminAuthHub : Hub 
{ 
}