c# - Web 服务 web.config 混合身份验证模式

标签 c# java asp.net web-services security

我正在 Visual Studio 2005 中基于 .NET 2.0 开发一个 Web 应用程序项目,该 Web 应用程序项目显然已保护网页和 Web 服务。我也想保护网络服务的安全。目前,web.config 中的身份验证模式设置为表单,我为此创建了自己的成员资格提供程序。

目标应用程序服务器是 IIS 5.0,它配置为使用有效证书通过 https 工作,因此从技术上讲,我想要的只是 Web 服务来验证一些硬编码字符串,以确保调用它们的系统是已知的,因为它们操纵敏感数据。由于它是通过安全通道进行的,因此我不希望对此 Web 服务身份验证使用任何花哨的加密。附带说明一下,使用 Web 服务的预期系统是 Java 而非 .NET

我真正寻找的是在 Visual Studio 中的同一解决方案中实现此目标的最佳方法。我不希望 Web 服务成为一个单独的项目。 (要求)

这是在 SOAP header 中使用流凭证的唯一解决方案吗?

谢谢

卡尔·T。

最佳答案

您可以将位置元素添加到 web.config 中,其中包含授权元素,允许匿名用户访问 Web 服务,从而有效绕过服务的表单安全性。然后,您可以使硬编码字符串被接受作为方法的另一个参数。请参阅location Element (ASP.NET Settings Schema)了解更多信息。

您提到了硬编码字符串,因此我假设您希望将其传递给方法并以无 session 方式运行。看看这篇文章 .NET Web Services Security 。您最感兴趣的部分位于第 3 页。

理想情况下,您应该使用 WCF 更新到 .NET 3.5 或更高版本,但除非这些是您最好的选择。

关于c# - Web 服务 web.config 混合身份验证模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8605961/

相关文章:

java - ils。从远程服务器调用CURL后重定向不起作用

c# - 过滤数据库

c# - 如何只打印一个特定的面板 ID

c# - ASP.NET Web API StreamContent - 让浏览器显示下载进度

c# - 如何在不读取的情况下检查 xml 中是否存在另一个节点 - C#

c# - 如何以编程方式获取类依赖项及其各自的文件位置?

c# - 上传图像并获取其字节

java - 简单 ViewPager - 单一布局

c# - 在非托管 cpp dll 中实现 C# 接口(interface)

java - 计算java数组中出现的次数