代码之家  ›  专栏  ›  技术社区  ›  enorl76

如何防止msdeploy覆盖存储在web.config中的服务器上的IIS站点配置

  •  0
  • enorl76  · 技术社区  · 7 年前

    IIS管理器中的站点设置具有IIS身份验证面板,匿名身份验证凭据设置为应用程序池标识。

    enter image description here

    部署后,所有请求都会收到401.3未经授权的错误,因为匿名身份验证凭据设置被设置为用户:

    enter image description here

    很明显,由于特定于服务器的设置和特定于开发的设置之间存在冲突,这会被覆盖。

    <handler remove key="xxx" /> 等等这只能通过XDT变换来解决吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Brando Zhang    7 年前

    在我看来,解决这个问题的最好办法是使用 web.config XDT transforms 因为web.config文件在部署到IIS服务器时也会发布。如果您在web.config中设置了匿名身份验证设置,它将使用web.config设置而不是服务器默认设置。

    如果不想让web.config修改默认IIS设置,可以修改功能委派以禁用web.config中的覆盖设置。

    您可以从IIS管理功能中找到它:

    enter image description here

    enter image description here

    如果从web.config修改匿名身份验证。您将面临以下错误:

    enter image description here

    推荐文章