什么是WCF服务最简单的安全方法

时间:2012-04-27 17:44:22

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

它正在运行到一个Intranet,.net framework 3.5,托管在IIS 7.0中,它使用带有null安全性的wsHttpBinding。现在我必须保护它,只允许特定用户运行它。

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

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

欢迎任何评论。

谢谢,

2 个答案:

答案 0 :(得分:2)

您说您使用的是Intranet应用程序。

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

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

答案 1 :(得分:2)

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

如果我们假设:

  • 登录Windows域的内部用户
  • 客户端计算机和服务器位于同一个域中
  • 用户在其计算机上运行Windows应用程序,进行WCF调用

然后最简单的解决方案是使用Windows身份验证

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