我已经开发了一个如下应用程序: -
数据访问库 使用Windows身份验证的WCF服务库(在IIS 7中的Web站点上托管) Silverlight应用程序(在IIS 7上的Web站点中托管) IIS上禁用匿名登录,并启用Windows登录。
这是非常标准的东西,但我第一次做到了。在我的本地IIS上,一切都运行良好,但尚未完成,但我决定是时候部署到测试服务器,以防我需要了解部署的事情。
我们有一个虚拟的Windows 2008 Server,并在其上安装了测试SQL Server 2008和测试IIS 7。我将Web Deploy安装到服务器上以帮助安装。从VS2010开始,我为服务主机Web应用程序和主要Silverlight托管Web应用程序创建了Web包。 在Test IIS中,我从Deploy菜单中选择了Import Application并选择了包,并且它们已成功安装。
当我从我的机器上测试时(因此我的Windows用户名/登录)一切都与我在本地IIS上的工作方式相同并且很好。但是,当我要求同事测试他们在WCF服务上调用方法时出错(即未经过身份验证)。
两者都在Windows 7上使用IE8,启用了集成的Windows身份验证。在Intranet区域的安全选项中,我启用了“用户名和密码提示”,在运行需要在IE中启动身份验证的应用程序时,基本上只需再次请求凭据。此外,如果我的同事使用我的机器(仍以我的身份登录到PC但是使用自己的凭据响应提示),它也会失败。
我没有对服务方法应用任何特殊属性,所以我假设任何用户都应该能够进行身份验证。我错了吗?