【问题标题】:What's the simplest security method of a WCF serviceWCF服务最简单的安全方法是什么
【发布时间】:2012-05-08 11:34:26
【问题描述】:

它正在运行到托管在 IIS 7.0 中的 Intranet、.net 框架 3.5,并且它使用具有 null 安全性的 wsHttpBinding。现在我必须保护它,只允许特定用户可以运行它。

似乎我应该使用 SSL 和证书,但我真的很想远离它,因为看起来很复杂,基本上我正在寻找最简单的方法。

我查看了 netTcpBinding,在我看来这是正确的方法,如果是这样,您能否确认使用 net.tcp 是否可以被某些 asp.net 站点使用。

欢迎任何cmets。

谢谢,

【问题讨论】:

  • 最简单的可能是您在 WCF Web 应用程序的 web.config 中指定允许连接的唯一有效用户名,这仅在您相信未经授权的人不会编辑此类 web.config 时才有效。
  • @DavidePiras,这样的话,我必须启用windows身份验证,如果这样不需要SSL,对吧?
  • @m0dest0:我认为 Davide 是说用户名将被硬编码到配置文件中。只有知道这些凭据的人才能获得访问权限。
  • @mellamokb,明白了 :) 谢谢你的澄清。

标签: c# wcf wcf-binding wcf-security


【解决方案1】:

在您的情况下,您有一个内部网,这意味着您有内部用户。这取决于对 WCF 服务的调用来自何处。

如果我们假设:

  • 内部用户,登录到 Windows 域
  • 客户端机器和服务器在同一个域中
  • 用户在他们的机器上运行一个 Windows 应用程序,这会调用 WCF

那么最简单的解决方案就是使用windows认证

  • 客户端在登录用户的安全上下文中进行调用
  • 服务器检查用户的组成员关系以确定它是否应该允许访问

【讨论】:

    【解决方案2】:

    您说您正在使用 Intranet 应用程序。

    如果是这样,您可以打开 Windows 身份验证,并仅允许 IIS 中的特定用户(这也在 web.config 中进行控制)。如果每个人都在 Intranet 上,它应该自动进行身份验证,用户无需输入密码或用户名。

    但是,如果您的 Intranet 之外的任何人需要访问此服务,则您需要包含 SSL 和 https 以保护发送到该服务的凭据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-20
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多