2012-04-27 84 views
4

它的运行成一个局域网,.NET Framework 3.5的,在IIS 7.0上承载的最简单的安全方法,它是使用的wsHttpBinding与空安全。现在我必须保护它,以便只有特定的用户才能运行它。什么是WCF服务

看来,我应该使用SSL和证书,但我真的想走就走,由于看起来复杂,基本上我正在寻找最简单的方法。

我接过来一看,以NetTcpBinding的,似乎对我来说这是正确的方式,如果是这样,你可以确认是否使用的net.tcp它能够通过一些asp.net网站被消耗。

任何意见都欢迎。

感谢,

+1

最简单的可能是你指定的唯一允许在WCF Web应用程序的web.config中连接的有效用户名,只有当您信任任何人都不会擅自编辑此类web.config时,才能使用此名称。 – 2012-04-27 17:47:18

+0

@DavidePiras,通过这种方式,我必须启用Windows身份验证,如果不是SSL,那么对吧? – m0dest0 2012-04-27 17:58:57

+0

@ m0dest0:我认为Davide在说用户名会被硬编码到配置文件中。只有知道这些凭据的人才可以访问。 – mellamokb 2012-04-27 18:00:58

回答

2

你的情况,你有一个内部网,这意味着你有内部用户。它取决于对WCF服务的调用来自哪里。

如果我们假设:

  • 内部用户,谁登录到Windows域
  • 的客户机和服务器都在
  • 用户运行他们的计算机上的Windows应用程序相同的域,这使得WCF调用

那么最简单的解决方法是使用Windows身份验证

  • 客户端发出的登录用户的安全上下文中调用
  • 服务器检查用户的组成员determin是否应该允许访问
2

你说你正在使用的联网应用。

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

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

相关问题