我正在重构一个工作的 ASP.NET Web 应用程序,以使用 ASP.NET Web 服务公开 Web 服务接口。根据Web 服务身份验证 - 最佳实践,通过 https 进行基本身份验证是可行的方法。让我们假设它是,而不是做 WS-Security、X509 等。
在 .NET 3.5/VS 2008 上,实现自定义 http 基本身份验证(非 Windows 帐户)的最简单方法是什么,例如,仅在用户名是“foo”且密码是“bar”时接受。最后,我想Thread.CurrentPrincipal
set.
我自己写吗HttpModule
或者这可以做得更简单吗?
可能使用IIS 的自定义基本身份验证,写者多米尼克·拜尔是要走的路。正如他指出的尽管我的问题是关于 ASP.NET Web 服务而不是 WCF,但 WCF 3.5 的传输安全性用户名不能在 IIS 托管的服务上使用。
HTTP 模块还有另一种实现,称为ASP.NET 中针对自定义数据源的基本身份验证 by 桑托什·萨胡.
虽然这不是我想要的,但我发现快速入门教程的 SOAP 标头示例提供信息丰富的解决方法。通过 http 以纯文本形式发送密码显然是不安全的,但可以扩展此示例以增加更多安全性,例如在 https 上运行或发送“密码 + 一次性 GUID + 时间戳”的哈希值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)