asp.net - .NET 3.5/VS 2008 上 ASP.NET Web 服务的自定义 HTTP 基本身份验证

标签 asp.net web-services security .net-3.5 basic-authentication

我正在重构一个工作的 ASP.NET Web 应用程序,以使用 ASP.NET Web 服务公开 Web 服务接口(interface)。根据Web Services authentication - best practices ,通过 https 进行基本身份验证是可行的方法。让我们假设是这样,而不是进行 WS-Security、X509 等。

在 .NET 3.5/VS 2008 上,实现自定义 http 基本身份验证(非 Windows 帐户)的最简单方法是什么,例如,仅在用户名是“foo”且密码是“bar”时接受。最终,我想要设置Thread.CurrentPrincipal

我应该编写自己的 HttpModule 还是可以更简单地完成?

最佳答案

可能使用 Custom Basic Authentication for IIS ,作者 Dominick Baier是要走的路。 As he points out尽管我的问题是关于 ASP.NET Web 服务而不是 WCF,但 WCF 3.5 的传输安全性用户名不能在 IIS 托管服务上使用。

HTTP 模块的另一个实现称为 Basic authentication in ASP.NET against custom datasource通过 Santosh Sahoo .

虽然不是我想要的,但我找到了QuickStart Tutorial's SOAP Headers sample提供信息丰富的解决方法。通过 http 以纯文本形式发送密码显然是不安全的,但可以扩展此示例以增加更多安全性,例如在 https 上运行或发送“密码 + 一次性 GUID + 时间戳”的哈希值。

关于asp.net - .NET 3.5/VS 2008 上 ASP.NET Web 服务的自定义 HTTP 基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/490627/

相关文章:

c# - 为什么 TinyMCE 不能与 asp 文本框一起使用,而是与 html textarea 一起使用?

android - 为 Android HTTP 请求创建 Google HTTP 传输对象

java - 在 Visual Studio 2008 中使用 Axis2 Web 服务

c# - 在 Visual Studio 开发服务器上启用 Soap Web 服务的 CORS 设置

java - JBOSS 安全 : web. xml 与 jboss-web.xml

web-services - 保护 Jersey REST 服务的最安全方式

c# - 获取不同的列表值

asp.net - 如何在负载平衡的 Web 场中处理 ASP.NET 应用程序变量

.net - .NET Web 应用程序的安全漏洞测试工具?

c# - Visual Studio 2005/2008 中的解决方案项