5

Ich verwende VS 2010, um das Bereitstellungspaket für eine Webanwendung zu erstellen. Ich stelle es manuell auf dem IIS 6.0-Server mithilfe des von ihm generierten Bereitstellungscommand-Skripts bereit. All das Zeug wird unter der Inetpub Standard-Website richtig kopiert. Das einzige Problem, das ich habe, ist, dass die Ordnerberechtigungen nach der Bereitstellung immer zurückgesetzt werden.Webbereitstellung und Ordnerberechtigungen

Sagen Sie meine Website befindet sich unter dem Ordner "Mywebsite". Ich gewähre bestimmten Benutzer XYS die volle Kontrolle über diesen Ordner. Alles ist gut. Bei der nächsten Bereitstellung hat Benutzer XYZ nicht mehr die volle Kontrolle und die Berechtigungen werden zurückgesetzt.

+0

Ist das nicht eine Frage für Superuser.com? –

+0

Können Sie diese spezifische Berechtigung nicht in Ihrer Bereitstellung festlegen? http://sedodream.com/2011/11/08/SettingFolderPermissionsOnWebPublish.aspx – bob

Antwort

8

Wenn Sie ACL-Operationen überspringen möchten, müssen Sie eine Eigenschaft in Ihrem Build festlegen. Sie können diese

  1. Bearbeiten Sie Ihre Projektdatei
  2. ein .wpp.targets

Datei erstellen auf zwei Arten tun würde ich # 2 empfehlen. Erstellen Sie in diesem Fall eine neue Datei im selben Verzeichnis wie Ihre Projektdatei mit dem Namen {ProjectName} .wpp.targets, wobei {ProjectName} der Name Ihres Projekts ist. Dann sollten Sie innerhalb dieser Datei die folgenden Inhalte platzieren.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 
     ToolsVersion="4.0"> 

    <PropertyGroup> 
    <IncludeSetAclProviderOnDestination>False</IncludeSetAclProviderOnDestination> 
    </PropertyGroup> 
</Project> 

Hier können Sie setzen die Eigenschaft IncludeSetAclProviderOnDestination, die den Web-Publishing-Pipeline-Signal wird nicht ACL-Anbieter im Manifest enthalten, die für das Paket erstellt wird/veröffentlichen.

Wenn Sie den Ansatz Nr. 1 nehmen möchten, werfen Sie einfach die gesamte Unterseite ein.

Verwandte Themen