【问题标题】:IIS turning off Windows authentication every time we redeploy the site每次我们重新部署站点时,IIS 都会关闭 Windows 身份验证
【发布时间】:2019-08-20 20:41:49
【问题描述】:

每次我将一个基本的 ASP.NET MVC 站点部署到我们的一个 Intranet 服务器时,该站点和任何子站点的身份验证模式都会关闭。我们将其设置为 Windows。这不会发生在我们使用的第二台服务器上。

这就是我们在根web.config 文件中的内容。我们可以进入IIS管理器重新开启Windows认证,但是为什么配置文件设置为使用Windows认证却每次都关闭呢?

<system.web>
    <customErrors mode="Off" />
    <compilation targetFramework="4.6.1" />
    <httpRuntime targetFramework="4.5" />
    <authentication mode="Windows" />
    <authorization>
        <deny users="?" />
    </authorization>
    <httpModules />
</system.web>

【问题讨论】:

  • 您的站点是如何部署的?它会覆盖 web.config 吗?
  • @GabrielLuci 是的
  • 那么你需要让它不覆盖web.config(至少不盲目)。您如何部署您的网站?
  • 我们的过程是“发布”到一个文件夹,然后 IT 将文件复制到最终的服务器位置。我们在配置中进行转换以适应某些服务器细节。
  • 你可以试试下面的答案。专门禁用匿名身份验证。

标签: asp.net-mvc iis windows-authentication iis-8


【解决方案1】:

您可以尝试在 web.config 文件中添加以下部分。

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

或者您可以直接修改 C:\Windows\System32\inetsrv\config

下的 applicationhost.config 文件
<location path="TestSite">
<system.webServer>
    <security>
        <authentication>
            <windowsAuthentication enabled="true" />
        </authentication>
    </security>
</system.webServer>

注意:path="TestSite" 在此部分中使用您的站点名称,并将此代码添加到 &lt;/configuration&gt; 标记之前。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多