我试图使用IIS Express与VS2010托管一个silverlight应用程序。我修改了我的applicationhost。配置文件,以允许修改正确的配置设置。我有以下在我的web.config:

<location path="">
  <system.webServer>
    <security>
      <authentication>
        <anonymousAuthentication enabled="false" />
        <windowsAuthentication enabled="true" />
      </authentication>
    </security>
  </system.webServer>
</location>

我没有被身份验证,我的域服务调用作为用户返回一个空记录。我能够在安装VS2010 SP1 BETA后让它工作,但我试图让它只与IIS Express工作。

如何使Windows身份验证与IIS Express一起工作。是否有我遗漏的配置设置?


当前回答

在做了上面回答的所有事情之后,我发现我不是以管理员的身份运行Visual Studio。以管理员身份运行后,问题解决了。

其他回答

在做了上面回答的所有事情之后,我发现我不是以管理员的身份运行Visual Studio。以管理员身份运行后,问题解决了。

选项1:

编辑\My Documents\IISExpress\config\applicationhost。配置文件并启用windowsAuthentication,即:

<system.webServer>
...
  <security>
...
    <authentication>
      <windowsAuthentication enabled="true" />
    </authentication>
...
  </security>
...
</system.webServer>

选项2:

解锁\My Documents\IISExpress\config\applicationhost中的windowsAuthentication部分。配置如下

<add name="WindowsAuthenticationModule" lockItem="false" />

将所需身份验证类型的覆盖设置更改为“允许”

<sectionGroup name="security">
    ...
    <sectionGroup name="system.webServer">
        ...
        <sectionGroup name="authentication">
            <section name="anonymousAuthentication" overrideModeDefault="Allow" />
            ...
            <section name="windowsAuthentication" overrideModeDefault="Allow" />
    </sectionGroup>
</sectionGroup>

在应用程序的web.config中添加以下内容

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
      <security>
        <authentication>
          <windowsAuthentication enabled="true" />
        </authentication>
      </security>
    </system.webServer>
</configuration>

以下链接可能会有所帮助: http://learn.iis.net/page.aspx/376/delegating-configuration-to-webconfig-files/

在安装VS 2010 SP1后,应用选项1 + 2可能需要让windows身份验证工作。此外,您可能需要在IIS Express applicationhost.config中将匿名身份验证设置为false:

<authentication>

            <anonymousAuthentication enabled="false" userName="" />

对于VS2015, IIS Express applicationhost配置文件可能位于这里:

$(solutionDir)\.vs\config\applicationhost.config

项目文件中的<UseGlobalApplicationHostFile>选项选择默认的或特定于解决方案的配置文件。

同样的注意- VS 2015, . VS \config\applicationhost。配置不可见或不可用。

默认情况下。vs文件夹是隐藏的(至少在我的情况下)。

如果您无法找到.vs文件夹,请执行以下步骤。

右键单击Solution文件夹 选择“属性” 在“属性”部分,单击“隐藏”复选框(默认不选中), 然后点击“应用”按钮 它将显示确认窗口“应用更改到此文件夹,子文件夹和文件”选项选中,点击“确定”。 重复步骤1至5,除了步骤3,这一次您需要取消选中之前选中的“隐藏”选项。

现在应该可以看到。vs文件夹了。

根据booij boy的回答,检查你是否检查了“windows身份验证”功能 控制面板->程序->打开或关闭窗口功能->互联网信息服务->万维网服务->安全

此外,使用火狐浏览器和ie浏览器时似乎也有很大的不同。 启用“windows身份验证”后,它为我工作,但只在IE。

我使用visual studio 2019开发ASP。网络应用程序。以下是对我们有效的方法:

打开项目属性窗口,禁用匿名身份验证和启用Windows身份验证 在你的网络中。在system.web下配置

<身份验证模式= "窗口" > < /认证> p

我没有改变应用程序。配置iis express。