我希望你们中的任何人都知道如何解决我们遇到的这个问题。
我们正在尝试通过网络托管WCF服务。我们设置web.config以使服务需要Windows身份验证。我们遇到的问题如下:
当我们在常规IIS中托管我们的服务时,该服务运行正常,并且“Windows身份验证”模式没有问题。但是,当我们尝试从开发人员框中运行它时,我们会收到以下错误:“此服务的安全设置需要Windows身份验证,但未为承载此服务的IIS应用程序启用。”
我们的开发人员盒子不是通过常规IIS托管服务,而是通过Visual Studio的APS.NET开发服务器托管服务。我们尝试进入Web项目属性并说要启用NTLM身份验证,但仍然没有修复它。有谁知道如何修理它? VS ASP.NET开发服务器甚至支持Windows身份验证吗?使用Windows身份验证托管服务的唯一选择是使用IIS而忘记ASP.NET Development Server吗?
由于 卡盘
答案 0 :(得分:11)
要配置IIS Express安全设置:
示例更改可在此处找到:
http://toadcode.blogspot.ca/2011/08/security-config-in-iis-express.html
答案 1 :(得分:4)
ASP.Net开发服务器非常有限。它仅为来自运行它的同一台机器的请求提供服务,并且不会提供超出其应用程序范围的文件。它基于Cassini服务器。 Cassini不支持WCF Web服务。 ASP.Net Development Server的文档说它确实支持NTLM。如果您只是从本地计算机浏览页面,它应该可以正常工作,除非该页面引用了不可用的资源。
查看http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx了解详情。
答案 2 :(得分:2)
我会在您的本地开发计算机上安装和配置IIS,并优先使用内置的Web服务器。要使用本地IIS进行调试,请在项目属性的Web选项卡上选择“用户本地IIS Web服务器”。使用IIS而不是内置的Web服务器也意味着您可以使用与在生产服务器上配置的方式完全相同的方式配置应用程序,这将减少移动到生产环境时的潜在意外情况。
答案 3 :(得分:1)
我的授权问题的解决方案是进入F4项目属性并设置以下内容:
Anonymous Authentication: Disabled
Windows Authentication: Enabled
显然,这些属性直接更新了IIS applicationHost.config。
http://provenstyle.com/blog/2015/10/02/Visual-Studio-2015-Windows-Authentication-And-IIS-Express/