如何保护 c# 2.0 中的 Web 服务并使其易于任何平台使用

发布于 2024-11-25 12:56:51 字数 868 浏览 0 评论 0原文

如何保护 Web 服务并使其易于任何平台使用。

设置:Asp.NET 2.0、Dot Net 2.0、c# 2.0、Visual Studio 2005。Web 服务器是 IIS 并使用 https (SSL)

  1. 我想避免安装诸如 WSE 3.0 之类的东西。与 Visual Studio 和 IIS 的未来版本相比,我更喜欢可以随身携带的纯 C# 方法。
  2. 每个人都应该能够在无需身份验证的情况下访问 Web 服务 URL 和描述并查看 WSDL。
  3. 安全措施将有助于阻止人们向我们的网络服务方法发送垃圾邮件。
  4. 易于实施:我不想为客户端管理证书或安装任何东西。
  5. 客户端仅发送用户名和密码。

这是否意味着 SOAP 标头身份验证是唯一的方法?我找到了这些链接,但不知道它们是否适用于非 .NET 客户端?
http://aspalliance.com/805http://www.codeproject.com/KB/webservices/SOAPHeaderAuthentication.aspx

我还看到 这篇文章但不知道是否和如何实现它(不是一个很好的例子)。

请建议或给我一个好的链接(请不要视频)。 谢谢!

How to secure a web service and make it easy for any platform to consume.

Setup: Asp.NET 2.0, Dot Net 2.0, c# 2.0, Visual Studio 2005. Web server is IIS and uses https (SSL)

  1. I would like to avoid installing anything like WSE 3.0. I prefer a pure c# method I can take with me to future versions of Visual Studio and IIS.
  2. Everyone should be able to still visit the web service URL and description and see the WSDL without authentication.
  3. The securing will help to stop people from sending junk to our web service methods.
  4. Easy implementation: I do not want to manage certificates for clients or install anything.
  5. client only sends a username and password.

Does this mean SOAP header authentication is the only way then? I found these links but don't know if they will work for non .NET clients?
http://aspalliance.com/805 and http://www.codeproject.com/KB/webservices/SOAPHeaderAuthentication.aspx

I also see this article but don't know if and how to implement it (not a very good example).

Please advise or give me a good link (no videos please).
Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

如果没结果 2024-12-02 12:56:51

您最好的选择是升级到 WCF,因为那里的内置选项要好得多。如果您陷入 2.0/SOAP 领域,那么自定义 SOAP 标头将在大多数平台上工作——我之前已经在 .NET、COM+ 和 PHP 中成功使用过它们。您可以使用典型的 ASP.NET 授权位(包括 sql 数据库)来支持用户/密码。也就是说,如果安全点是减少垃圾邮件,并且您没有大量的服务方法来“保护”,那么您可能只想在方法中添加一个“UserKey”参数,然后验证(或至少是速率限制)反对这一点。

Your best bet would be to upgrade to WCF as built-in options are much better there. If you are stuck in 2.0/SOAP land, then a custom SOAP header will work from most platforms -- I've successfully used them from .NET, COM+ and PHP before. You can back the user/pass with the typical ASP.NET authorization bits including the sql database. That said, if the point of security is to cut down on spam and you don't have that vast an array of service methods to "secure" then you might just want to add a "UserKey" parameter to your method then verify (or at least rate-limit) against that.

谎言月老 2024-12-02 12:56:51
  1. 您应该将您的解决方案升级到 WCF。如果可以,您可以轻松地为您的客户端选择凭据类型。另请参阅保护 WCF 服务文章
  2. SOAP 标头适用于非.NET 客户端,如果它们可以构造请求所需的 xml。
  3. 使用 本文提供了 SOAP 标头使用的简单示例。
  1. You should upgrade your solution to the WCF. If you can, you can easily select the Credential Type for your clients. See also Securing WCF Service article
  2. SOAP headers will work for non-.NET clients, if they can construct needed xml for request.
  3. Use this article for easy example of SOAP Header using.
柠栀 2024-12-02 12:56:51

IIS 中的基本身份验证还不够吗?服务使用者可以轻松地通过请求传递基本身份验证参数。

Is basic authentication in IIS not sufficient? It's easy for service consumers to pass basic authentication parameters with a request.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文