Windows 如何在IIS 10中允许对AppPoolIdentity用户的写入权限

Windows 如何在IIS 10中允许对AppPoolIdentity用户的写入权限,windows,iis,web-deployment,windows-server-2016,Windows,Iis,Web Deployment,Windows Server 2016,我有一个网站托管在IIS 10上。该网站具有将文件写入文件夹的功能。我已授予wwwroot文件夹上IIS_IUSER、IUSER和用户组的写入权限。但是,我仍然看到访问被拒绝异常。 我所做的一个解决方法是允许对网站文件夹上的AppPoolIdentity用户(名称为我的应用程序名称的用户)具有写入权限。但是,每次执行web部署时,此权限都会被删除 我有什么遗漏吗?我有windows server 2016。如果从Visual Studio使用Web Deploy,发布将覆盖服务器上的ACL,方法

我有一个网站托管在IIS 10上。该网站具有将文件写入文件夹的功能。我已授予wwwroot文件夹上IIS_IUSER、IUSER和用户组的写入权限。但是,我仍然看到访问被拒绝异常。 我所做的一个解决方法是允许对网站文件夹上的AppPoolIdentity用户(名称为我的应用程序名称的用户)具有写入权限。但是,每次执行web部署时,此权限都会被删除


我有什么遗漏吗?我有windows server 2016。

如果从Visual Studio使用Web Deploy,发布将覆盖服务器上的ACL,方法是将它们清除为父级继承的默认值

避免每次发布web应用程序时更新ACL

您可以在PublishProfiles的pubxml中添加以下命令

 <IncludeSetAclProviderOnDestination>False</IncludeSetAclProviderOnDestination>
False
详情如下:

<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121. 
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>MSDeploy</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <MSDeployServiceURL>http://localhost:9825/</MSDeployServiceURL>
    <DeployIisAppPath>WebFormApplication</DeployIisAppPath>
    <RemoteSitePhysicalPath />
    <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
    <MSDeployPublishMethod>InProc</MSDeployPublishMethod>
    <EnableMSDeployBackup>False</EnableMSDeployBackup>
    <UserName />
    <_SavePWD>False</_SavePWD>
     <IncludeSetAclProviderOnDestination>False</IncludeSetAclProviderOnDestination>
    <PublishDatabaseSettings>
      <Objects xmlns="">
        <ObjectGroup Name="DefaultConnection" Order="1" Enabled="False">
          <Destination Path="" />
          <Object Type="DbCodeFirst">
            <Source Path="DBContext" DbContext="WebFromIdentityTest.Models.ApplicationDbContext, WebFromIdentityTest" Origin="Configuration" />
          </Object>
        </ObjectGroup>
      </Objects>
    </PublishDatabaseSettings>
  </PropertyGroup>
  <ItemGroup>
    <MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String" />
  </ItemGroup>
</Project>

MSDeploy
释放
任何CPU
真的
假的
http://localhost:9825/
WebFormApplication
真的
默认模式
假的
假的
假的