4

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

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

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

欢迎任何意见。

谢谢,

4

2 回答 2

2

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

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

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

于 2012-04-27T18:17:57.977 回答
2

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

如果我们假设:

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

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

  • The client makes the call in the security context of the logged on user
  • The server checks the group membership of the user to determin if it should allow access
于 2012-04-27T18:17:58.550 回答