【问题标题】:SignalR WinAuth does not WorkSignalR WinAuth 不起作用
【发布时间】:2016-09-03 04:48:19
【问题描述】:

我在 SignalR 与 Win Auth 的连接中遇到问题。当我在 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。

【问题讨论】:

    标签: asp.net .net silverlight iis signalr


    【解决方案1】:

    您是否已向中心添加了授权?

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

    【讨论】:

    • 我在解决方案中添加了一个新项目,我关闭了 WinAuth 并仅为该项目打开了匿名身份验证(因为我无法更改解决方案中其他项目的功能)。我现在不能尝试,但我肯定会试一试。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多