簡體   English   中英

IIS 應用程序池標識權限在每個 Visual Studio 應用程序發布時重置

[英]IIS Application Pool Identity permissions reset on every Visual Studio app Publish

按照此問題中的說明,我可以成功更改應用程序池身份的權限

在此處輸入圖片說明

但是,在我發布 Web 應用程序后...

在此處輸入圖片說明

應用程序池標識已重置為只讀

在此處輸入圖片說明

即使在我重新發布 Web 應用程序后,如何為應用程序池標識授予完全權限? 如果我授予 IUSR 完全權限,也會發生相同的行為。

據我所知,如果您從 Visual Studio 使用 Web 部署,發布將通過將服務器上的 ACL 清除為父級繼承的默認值來覆蓋服務器上的 ACL。

避免每次發布 Web 應用程序時都更新 ACL。

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

 <IncludeSetAclProviderOnDestination>False</IncludeSetAclProviderOnDestination>

詳細信息發布配置如下:

<?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>

然后你會發現發布應用后權限不會改變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM