【发布时间】:2013-09-10 16:33:10
【问题描述】:
有很多关于如何使用 SignalR 进行表单身份验证或 Windows 身份验证的信息。我有兴趣使用我自己的身份验证数据库。我使用 .NET 客户端是因为连接代理是一项服务,而不是背后有人支持的 Web 浏览器。理想情况下,我希望使用我的客户端代码:
hubConnection.Credentials = new NetworkCredential(userName, password);
我的服务器代码在集线器上使用 [Authorize] 并让 Context.User 可供我使用。所有通讯都通过 https,所以我不在乎纯文本。
我已阅读 asp.net basic authentication 指南,该指南展示了如何使用 IHttpModule 覆盖身份验证机制。但是,当我在 HttpModule 中对代码进行断点时,似乎从未在来自 .NET SignalR 客户端的请求中设置“授权”标头。
我想做的只是简单地从客户端传递一个用户名和一个密码,然后编写如何在服务器上进行身份验证的代码。有这么难吗?没有魔法。没有活动目录。本人认证即可。
我目前的工作方法是设置在 SignalR 级别解释的自定义标头(使用自定义 AuthorizeAttribute),但显然“正确的方法”不是在授权级别进行身份验证,而是有网络服务器会在 SignalR 发生任何事情之前执行此操作。
谁能描述一个完整但非常简单的自定义身份验证的好程序?
【问题讨论】:
标签: asp.net-mvc-4 authentication iis signalr signalr.client