2010-12-19 50 views
0

我已阅读此帖子How can I use WCF with only basichttpbinding, SSL and Basic Authentication in IIS? 似乎工作正常,如果我将clientCredentialType设置为“基本”,但是当我将clientCredentialType设置为“Windows”时,匿名用户可以访问我服务。启用SSL与Windows身份验证WCF over basicHttpbinding

有人可以对此有所了解吗?我如何禁用匿名用户。我已经在ISS 7.5中禁用了它。基本身份验证和Windows身份验证有什么不同?

更新 当我设置clientCredentialType为“Windows”,我浏览到我的服务URL https://ServerName/myservice.svc,I上午提示一个登录窗口,但我可以在用户名和密码,就可以输入:OK没有类型仍然可以看到服务信息页面。但是,如果我在虚拟目录上创建了一个.html页面,那么我必须输入用户名和密码。否则我无法看到该页面。

回答

0

基本认证需要一个任意的用户名和密码。 Windows身份验证会发送当前登录用户的凭据(假定用户正在运行Windows),并且仅当客户端和服务器位于同一个域时才真正有用。

因为在互联网上发送Windows登录信息是一个潜在的安全问题,Firefox和更新版本的IE不会发送凭证,除非明确告知(FF的配置设置,移动站点到IE的“受信任”区域)

+0

但为什么当我将clientCredentialType设置为“Windows”时,匿名用户可以访问我的服务。尽管我禁用了匿名用户。 – Ybbest 2010-12-19 08:13:55

+0

首先 - 服务器是否与您在同一个域中?接下来,你如何禁用匿名访问?在代码中?在Config中?在IIS中? – Basic 2010-12-19 14:12:58

+0

是的,服务器与我在同一个域中,我正在禁用IIS中的匿名访问。 – Ybbest 2010-12-19 21:11:23