Freigeben über


WebDAV-Erstellung <authoring>

Übersicht

Das <authoring> Element gibt die Einstellungen auf Site-Ebene für WebDAV an. Die Wichtigste dieser Einstellungen ist, ob die WebDAV-Erstellung für die Site aktiviert ist. Zusätzliche Elemente definieren das Verhalten für das WebDAV-Modul, z. B. Kompatibilitätsoptionen und die Funktionsweise des WebDAV-Moduls mit Eigenschaften, Sperren und dem zugrunde liegenden Dateisystem.

Kompatibilität

Version Hinweise
IIS 10.0 Das <authoring> Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das <authoring> Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <authoring> Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <authoring> Element wird als Feature von IIS 7.5 ausgeliefert.
IIS 7.0 Das <authoring> Element wurde in WebDAV 7.0 eingeführt, das ein separater Download für IIS 7.0 war.
IIS 6.0 N/V

Hinweis

Die Module WebDAV 7.0 und WebDAV 7.5 wurden out-of-band für IIS 7.0 ausgeliefert, die das Herunterladen und Installieren der Module aus der folgenden URL erforderten:

https://www.iis.net/expand/WebDAV

Mit Windows 7 und Windows Server 2008 R2 wird das WebDAV 7.5-Modul als Feature für IIS 7.5 ausgeliefert, sodass das Herunterladen von WebDAV nicht mehr erforderlich ist.

Setup

Um die WebDAV-Veröffentlichung für Ihren Webserver zu unterstützen, müssen Sie das WebDAV-Modul installieren. Führen Sie dazu die folgenden Schritte aus:

Windows Server 2012 oder Windows Server 2012 R2

  1. Klicken Sie auf der Taskleiste auf Server-Manager.
  2. Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen.
  3. Klicken Sie im Assistenten zum Hinzufügen von Rollen und Features auf Weiter. Wählen Sie den Installationstyp aus, und klicken Sie auf Weiter. Wählen Sie den Zielserver aus, und klicken Sie auf Weiter.
  4. Erweitern Sie auf der Seite Rollendienste den Webserver (IIS). Erweitern Sie dann Webserver und Allgemeine HTTP-Features, und wählen Sie dann WebDAV-Veröffentlichung aus. Klicken Sie auf Weiter.
    Image of Web Server and Common H T T P Features pane expanded with Web DAV Publishing selected.
  5. Klicken Sie auf der Seite Features auswählen auf Weiter.
  6. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  7. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 8 oder Windows 8.1

  1. Bewegen Sie auf dem Startbildschirm den Mauszeiger ganz nach links unten, klicken Sie mit der rechten Maustaste auf dieStarttaste und klicken Sie dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerungauf Programme und dann auf „Windows-Features aktivieren oder deaktivieren“.
  3. Erweitern Sie Internetinformationsdienste , erweitern SieWorld Wide Web Services, erweitern Sie allgemeine HTTP-Features, und wählen Sie dann WebDAV Publishing.
    Image of Common H T T P Features pane in Turn Windows features on or off page expanded with Web DAV Publishing selected.
  4. Klicken Sie auf OK.
  5. Klicken Sie auf Schließen.

Windows Server 2008 R2

  1. Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools, und klicken Sie dann auf Server-Manager.
  2. Erweitern Sie im Hierarchiebereich des Server-Managers die Rollenund klicken Sie dann auf den Webserver (IIS) .
  3. Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt "Rollendienste ", und klicken Sie dann auf "Rollendienstehinzufügen".
  4. Erweitern Sie auf der Seite Rollendienste auswählen des Assistenten zum Hinzufügen von Rollendiensten das Element Allgemeine HTTP-Features, wählen Sie WebDAV-Veröffentlichung aus, und klicken Sie dann auf Weiter.
    Screenshot of Common H T T P Features node in Select Role Services page expanded with Web DAV Publishing selected.
  5. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  6. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 7

  1. Klicken Sie auf der Taskleiste auf "Start" und dann auf "Systemsteuerung".
  2. Klicken Sie in der Systemsteuerungauf Programmeund dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste, dann World Wide Web Services und dann Allgemeine HTTP-Features.
  4. Aktivieren Sie WebDAV-Veröffentlichung, und klicken Sie dann auf OK.
    Image of World Wide Web Services and Common H T T P Features pane expanded on Turn Windows features on or off page with Web DAV Publishing selected.

Windows Server 2008 oder Windows Vista

Gewusst wie

Aktivieren der WebDAV-Veröffentlichung

  1. Öffnen Sie den Internet Information Services (IIS) Manager:

    • Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:

      • Klicken Sie in der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows 8 oder Windows 8.1 verwenden:

      • Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
      • Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows Vista oder Windows 7 verwenden:

      • Klicken Sie auf der Taskleiste auf "Start" und dann auf "Systemsteuerung".
      • Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
  2. Erweitern Sie im Bereich Verbindungen den Servernamen, und wechseln Sie dann zur Site, Anwendung oder zum Verzeichnis, in dem Sie die WebDAV-Veröffentlichung aktivieren möchten.

  3. Doppelklicken Sie im Bereich Start auf WebDAV Erstellungsregeln.
    Image of Home pane displaying Web DAV Authoring Rules selected.

  4. Klicken Sie im Bereich Aktionen auf WebDAV aktivieren.
    Image of Actions pane in Web DAV Authoring Rules page displaying Enable Web DAV option.

Hinweis

Nachdem Sie die WebDAV-Veröffentlichung aktiviert haben, müssen Sie Erstellungsregeln hinzufügen, bevor Benutzer oder Gruppen Inhalte auf Ihrem Server veröffentlichen können. Weitere Informationen zum Erstellen von Erstellungsregeln finden Sie im Thema authoringRules.

Konfiguration

Das <authoring> Element kann nur auf Site-Ebene in der Datei ApplicationHost.config konfiguriert werden. Alle <authoring> Elemente auf anderen Ebenen oder in Web.config-Dateien werden ignoriert.

Attribute

Attribut Beschreibung
compatFlags Optionale Flags-Attribut.

Gibt die Kompatibilitätsoptionen für WebDAV an. Es gibt mehrere Verhaltensweisen, die in früheren Versionen der WebDAV-Implementierungen von Microsoft verwendet wurden, und die Flags in diesem Attribut geben an, welche dieser Verhaltensweisen das neue WebDAV-Modul implementiert.

Das Attribut compatFlags kann einen oder mehrere der folgenden möglichen Werte aufweisen. Wenn Sie mehrere Werte angeben, trennen Sie sie durch ein Komma (,). Der Standardwert ist MsAuthorVia, MultiProp, CompactXml, IsHidden, IsCollection.
Wert Beschreibung
None Es sollten keine Kompatibilitätsoptionen verwendet werden.

Der numerische Wert ist 0.
MsAuthorVia

Gibt an, ob das WebDAV-Modul den Header "MS-Author-Via" an WebDAV-Clients zurückgeben soll.

Hinweis: Einige WebDAV-Clients erwarten diesen Header.

Der numerische Wert ist 1.

MultiProp Gibt an, ob mehrere <prop> Anweisungen in WebDAV-Anforderungen zulässig sein sollen.

Hinweis: Dies verstößt gegen RFC 4918, aber einige frühere WebDAV-Implementierungen unterstützten diese Syntax.


Der numerische Wert ist 2.
CompactXml Gibt an, ob der vom WebDAV-Modul zurückgegebene XML-Code hierarchisch formatiert werden soll.

Hinweis: Normalerweise gibt das WebDAV-Modul einfach XML-Antworten ohne CRLF-Zeichen und keinen Einzug zurück. Dadurch wird die Größe der über die Leitung übertragenen Daten reduziert, aber es ist sehr schwierig, ohne einen XML-Parser zu lesen.

Der numerische Wert ist 4.
IsHidden Gibt an, dass die Pseudo-Live-Eigenschaft IsHidden unterstützt werden soll.

Hinweis: Diese Eigenschaft ist ein informeller Standard, der in RFC 4918 nicht definiert ist.

Der numerische Wert ist 8.
IsCollection Gibt an, dass die Pseudo-Live-Eigenschaft IsCollection unterstützt werden soll.

Hinweis: Diese Eigenschaft ist ein informeller Standard, der in RFC 4918 nicht definiert ist.

Der numerische Wert ist 16.
enabled Optionales Boolean -Attribut.

true, wenn die WebDAV-Erstellung aktiviert ist; andernfalls false.

Der Standardwert ist false.
maxAllowedXmlRequestLength Optionales Uint-Attribut.

Gibt die maximale Länge des XML-Anforderungstexts für WebDAV-Anforderungen in Bytes an.

Hinweis: Dieses Attribut wurde in WebDAV 7.5 und IIS 7.5 hinzugefügt.

Der Standardwert ist 1000000.
requireSsl Optionales Boolean -Attribut.

true , wenn SSL für die WebDAV-Erstellung erforderlich ist, andernfalls false. Das Anfordern von SSL für die WebDAV-Erstellung fügt eine zusätzliche Sicherheitsebene hinzu, bedeutet jedoch auch einen Verarbeitungsaufwand für jede Anforderung.

Der Standardwert ist false.

Untergeordnete Elemente

Element Beschreibung
fileSystem Optionales Element.

Gibt an, wie das WebDAV-Modul mit dem zugrunde liegenden Dateisystem interagiert.
locks Optionales Element.

Gibt die WebDAV-Sperreinstellungen an.
properties Optionales Element. Gibt die WebDAV-Eigenschaftseinstellungen an.

Konfigurationsbeispiel

Im folgenden Beispiel wird ein Beispielelement <webdav> für die Standardwebsite aufgelistet. In diesem Beispiel werden alle vorhandenen Erstellungsregeln gelöscht, eine einzelne Regel für die Gruppe Administratoren hinzugefügt, die WebDAV-Erstellung aktiviert, festgelegt, dass ausgeblendete Dateien zulässig sind, WebDAV-Sperren aktiviert und der Sperranbieter angegeben und WebDAV-Eigenschaften aktiviert und der Standard-XML-Namespace für die Eigenschaftszuordnung angegeben.

<location path="Default Web Site">
   <system.webServer>
      <webdav>
         <authoringRules defaultAccess="none" allowNonMimeMapFiles="true" defaultMimeType="text/plain">
            <clear />
            <add roles="administrators" path="*" access="Read, Write, Source" />
         </authoringRules>
         <authoring enabled="true" requireSsl="false">
            <fileSystem allowHiddenFiles="true" />
            <locks enabled="true" lockStore="webdav_simple_lock" requireLockForWriting="false" />
            <properties allowAnonymousPropfind="false" allowInfinitePropfindDepth="false" allowCustomProperties="true">
               <clear />
               <add xmlNamespace="*" propertyStore="webdav_simple_prop" />
            </properties>
         </authoring>
      </webdav>
   </system.webServer>
</location>

Beispielcode

In den folgenden Beispielen wird die WebDAV-Erstellung für die Standardwebsite aktiviert und die Website so konfiguriert, dass SSL für die WebDAV-Erstellung nicht erforderlich ist.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /enabled:"True" /requireSsl:"False"  /commit:apphost

Hinweis

Sie müssen unbedingt den Commitparameter apphost festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei ApplicationHost.config festgelegt.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();

         ConfigurationSection authoringSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site");
         authoringSection["enabled"] = true;
         authoringSection["requireSsl"] = false;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration

      Dim authoringSection As ConfigurationSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site")
      authoringSection("enabled") = True
      authoringSection("requireSsl") = False

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site");
authoringSection.Properties.Item("enabled").Value = true;
authoringSection.Properties.Item("requireSsl").Value = false;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site")
authoringSection.Properties.Item("enabled").Value = True
authoringSection.Properties.Item("requireSsl").Value = False

adminManager.CommitChanges()

In den folgenden Beispielen werden WebDAV-Sperren für die Standardwebsite mithilfe des einfachen Sperranbieters aktiviert und die Website so konfiguriert, dass Sperren für die WebDAV-Erstellung nicht erforderlich sind.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /locks.enabled:"True" /locks.lockStore:"webdav_simple_lock" /locks.requireLockForWriting:"False" /commit:apphost

Hinweis

Sie müssen unbedingt den Commitparameter apphost festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei ApplicationHost.config festgelegt.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection authoringSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site");

         ConfigurationElement locksElement = authoringSection.GetChildElement("locks");
         locksElement["enabled"] = true;
         locksElement["lockStore"] = @"webdav_simple_lock";
         locksElement["requireLockForWriting"] = false;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim authoringSection As ConfigurationSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site")

      Dim locksElement As ConfigurationElement = authoringSection.GetChildElement("locks")
      locksElement("enabled") = True
      locksElement("lockStore") = "webdav_simple_lock"
      locksElement("requireLockForWriting") = False

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var locksElement = authoringSection.ChildElements.Item("locks");
locksElement.Properties.Item("enabled").Value = true;
locksElement.Properties.Item("lockStore").Value = "webdav_simple_lock";
locksElement.Properties.Item("requireLockForWriting").Value = false;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set locksElement = authoringSection.ChildElements.Item("locks")
locksElement.Properties.Item("enabled").Value = True
locksElement.Properties.Item("lockStore").Value = "webdav_simple_lock"
locksElement.Properties.Item("requireLockForWriting").Value = False

adminManager.CommitChanges()

In den folgenden Beispielen werden die WebDAV-Eigenschafteneinstellungen so konfiguriert, dass anonyme und unendliche Tiefeneigenschaftenabfragen deaktiviert sind, und benutzerdefinierte Eigenschaften mit dem standardmäßigen XML-Namespace aktiviert, der dem integrierten Anbieter webdav_simple_prop zugeordnet ist.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /properties.allowAnonymousPropfind:"False" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /properties.allowInfinitePropfindDepth:"False" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /properties.allowCustomProperties:"True" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /+"properties.[xmlNamespace='*',propertyStore='webdav_simple_prop']" /commit:apphost

Hinweis

Sie müssen unbedingt den Commitparameter apphost festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei ApplicationHost.config festgelegt.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection authoringSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site");

         ConfigurationElement propertiesElement = authoringSection.GetChildElement("properties");
         propertiesElement["allowAnonymousPropfind"] = false;
         propertiesElement["allowInfinitePropfindDepth"] = false;
         propertiesElement["allowCustomProperties"] = true;

         ConfigurationElementCollection propertiesCollection = propertiesElement.GetCollection();

         ConfigurationElement addElement = propertiesCollection.CreateElement("add");
         addElement["xmlNamespace"] = @"*";
         addElement["propertyStore"] = @"webdav_simple_prop";
         propertiesCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim authoringSection As ConfigurationSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site")

      Dim propertiesElement As ConfigurationElement = authoringSection.GetChildElement("properties")
      propertiesElement("allowAnonymousPropfind") = False
      propertiesElement("allowInfinitePropfindDepth") = False
      propertiesElement("allowCustomProperties") = True

      Dim propertiesCollection As ConfigurationElementCollection = propertiesElement.GetCollection

      Dim addElement As ConfigurationElement = propertiesCollection.CreateElement("add")
      addElement("xmlNamespace") = "*"
      addElement("propertyStore") = "webdav_simple_prop"
      propertiesCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var propertiesElement = authoringSection.ChildElements.Item("properties");
propertiesElement.Properties.Item("allowAnonymousPropfind").Value = false;
propertiesElement.Properties.Item("allowInfinitePropfindDepth").Value = false;
propertiesElement.Properties.Item("allowCustomProperties").Value = true;

var propertiesCollection = propertiesElement.Collection;

var addElement = propertiesCollection.CreateNewElement("add");
addElement.Properties.Item("xmlNamespace").Value = "*";
addElement.Properties.Item("propertyStore").Value = "webdav_simple_prop";
propertiesCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set propertiesElement = authoringSection.ChildElements.Item("properties")
propertiesElement.Properties.Item("allowAnonymousPropfind").Value = False
propertiesElement.Properties.Item("allowInfinitePropfindDepth").Value = False
propertiesElement.Properties.Item("allowCustomProperties").Value = True

Set propertiesCollection = propertiesElement.Collection

Set addElement = propertiesCollection.CreateNewElement("add")
addElement.Properties.Item("xmlNamespace").Value = "*"
addElement.Properties.Item("propertyStore").Value = "webdav_simple_prop"
propertiesCollection.AddElement(addElement)

adminManager.CommitChanges()