帮助:如何在ASP.NET Development Server上启用Windows身份验证?

时间:2009-05-12 19:20:06

标签: c# asp.net visual-studio wcf iis

我希望你们中的任何人都知道如何解决我们遇到的这个问题。

我们正在尝试通过网络托管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吗?

由于 卡盘

4 个答案:

答案 0 :(得分:11)

要配置IIS Express安全设置:

  1. 在任务栏(系统托盘)中查找IIS express符号。
  2. 右键单击并选择“所有应用程序”。
  3. 点击您要更改的网站名称(虽然我认为此更改是网站范围内的)
  4. 单击下面配置部分中的路径(它将打开applicationhost.config文件)
  5. 搜索身份验证部分并进行更改
  6. 示例更改可在此处找到:

    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/