Partager via


WebDAV <webdav>

Vue d’ensemble

L’élément <webdav> contient les paramètres qui configurent Web Distributed Authoring and Versioning (WebDAV) pour Internet Information Services (IIS) 7. WebDAV est une norme ouverte basée sur Internet qui permet de modifier des sites Web via des connexions HTTP et HTTPS. WebDAV offre plusieurs avantages par rapport au protocole FTP (File Transfer Protocol), les avantages les plus notables sont d’autres options de sécurité et la possibilité d’utiliser un seul port TCP pour toutes les communications.

Compatibilité

Version Notes
IIS 10.0 L’élément <webdav> n’a fait l’objet d’aucune modification dans IIS 10.0.
IIS 8.5 L’élément <webdav> n’a fait l’objet d’aucune modification dans IIS 8.5.
IIS 8.0 L’élément <webdav> n’a fait l’objet d’aucune modification dans IIS 8.0.
IIS 7.5 L’élément <webdav> est fourni en tant que fonctionnalité d’IIS 7.5.
IIS 7.0 L’élément <webdav> a été introduit dans WebDAV 7.0, qui était un téléchargement distinct pour IIS 7.0.
IIS 6.0 N/A

Remarque

Les modules WebDAV 7.0 et WebDAV 7.5 fournis hors bande pour IIS 7.0, qui ont requis le téléchargement et l’installation des modules à partir de l’URL suivante :

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

Avec Windows 7 et Windows Server 2008 R2, le module WebDAV 7.5 est fourni en tant que fonctionnalité pour IIS 7.5, de sorte que le téléchargement de WebDAV n’est plus nécessaire.

Programme d’installation

Pour prendre en charge la publication WebDAV pour votre serveur Web, vous devez installer le module WebDAV. Pour cela, procédez comme suit.

Windows Server 2012 ou Windows Server 2012 R2

  1. Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
  2. Dans le Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités.
  3. Dans l’Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d’installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant.
  4. Sur la page Rôles du serveur, développez Serveur Web (IIS), développez Serveur Web, développez Fonctionnalités HTTP communes, puis sélectionnez Publication WebDAV. Sélectionnez Suivant.
    Screenshot of the Server Roles page with the WebDAV option being highlighted.
  5. Dans la page Sélectionner les composants, cliquez sur Suivant.
  6. Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
  7. Dans la page Résultats , cliquez sur Fermer.

Windows 8 ou Windows 8.1

  1. Dans l’écran Démarrer, déplacez le pointeur en bas à gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, développez World Wide Web Services, développez Fonctionnalités HTTP communes, puis sélectionnez publication WebDAV.
    Screenshot of the Windows Features dialog box with a focus on the WebDAV Publishing folder within the Internet Information Services folder.
  4. Cliquez sur OK.
  5. Cliquez sur Fermer.

Windows Server 2008 R2

  1. Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
  2. Dans le volet hiérarchie du Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
  3. Dans le volet Serveur web (IIS), faites défiler jusqu’à la section Services de rôle, puis cliquez sur Ajouter des services de rôle.
  4. Sur la page Sélectionner les services de rôle de l'Assistant Ajout de services de rôle, développez Fonctionnalités HTTP communes, sélectionnez Publication WebDAV, puis cliquez sur Suivant.
    Screenshot of the Add Role Services Wizard with a focus on the WebDAV Publishing option.
  5. Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
  6. Dans la page Résultats , cliquez sur Fermer.

Windows 7

  1. Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, puis World Wide Web Services et Fonctionnalités HTTP courantes.
  4. Sélectionnez Publication WebDAV, puis cliquez sur OK.
    Screenshot of the Turn Windows features on or off wizard with a focus on the WebDAV Publishing folder within the World Wide Web Services and Common H T T P folders.

Windows Server 2008 ou Windows Vista

Procédure

Comment activer la publication WebDAV

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur sur Outils d'administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions, développez le nom du serveur, puis accédez au site, à l’application ou au répertoire dans lequel vous souhaitez activer la publication WebDAV.

  3. Dans le volet Accueil, double-cliquez sur Règles de création WebDAV.
    Screenshot of the I I S Manager's Home pane with a focus on the WebDAV Authoring Rules application shortcut.

  4. Dans le volet Actions, cliquez sur Activer WebDAV.
    Screenshot of the I I S Manager screen's Actions pane with a focus on the Enable WebDAV option.

Remarque

Une fois que vous avez activé la publication WebDAV, vous devez ajouter des règles de création avant que les utilisateurs ou les groupes puissent publier du contenu sur votre serveur. Pour plus d’informations sur la création de règles de création, consultez la rubrique authoringRules.


Comment ajouter des règles de création WebDAV

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur sur Outils d'administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions, développez le nom du serveur, puis accédez au site, à l’application ou au répertoire dans lequel vous souhaitez activer la navigation de répertoires.

  3. Dans le volet Accueil, double-cliquez sur Règles de création WebDAV.
    Screenshot of the Default Web Site Home screen's Home pane with a focus on the WebDAV Authoring Rules shortcut.

  4. Dans le volet Actions, cliquez sur Ajouter une règle de création...
    Screenshot of the WebDav Authoring Rules screen's Actions pane with a focus on the Add Authoring Rule option.

  5. Dans la boîte de dialogue Ajouter une règle de création, spécifiez les options suivantes :

    • Autoriser l’accès à : spécifiez si la règle de création doit s’appliquer à tous les types de contenu ou spécifier des types de contenu spécifiques à autoriser.
    • Autoriser l’accès à ce contenu à : spécifiez si la règle de création doit s’appliquer à tous les utilisateurs, à des groupes ou rôles spécifiques ou à des utilisateurs spécifiques.
    • Autorisations : spécifiez si la règle de création doit autoriser l’accès en lecture, écriture ousource pour les types de contenu et les utilisateurs spécifiés.
      Screenshot of the Add Authoring Rule dialog box.
  6. Cliquez sur OK.

Configuration

L’élément <webdav> est configurable au niveau global, au niveau du site et au niveau du répertoire dans le fichier ApplicationHost.config. Les paramètres WebDAV dans les fichiers Web.config sont ignorés.

Attributs

Aucune.

Éléments enfants

Élément Description
authoring Élément facultatif.

Spécifie les paramètres de configuration de la création WebDAV.
authoringRules Élément facultatif.

Spécifie les règles de création pour la publication WebDAV. Ces règles spécifient les types de contenu et les autorisations de création pour les utilisateurs ou les groupes.
globalSettings Élément facultatif. Spécifie les paramètres globaux du module WebDAV.

Exemple Configuration

L’exemple suivant répertorie un exemple d’élément <webdav> pour le site web par défaut. Cet exemple efface toutes les règles de création existantes, ajoute une règle unique pour le groupe d’administrateurs, active la création WebDAV, spécifie que les fichiers masqués sont autorisés, active les verrous WebDAV et spécifie le fournisseur de verrous, et active les propriétés WebDAV et spécifie l’espace de noms XML par défaut pour le mappage de propriétés.

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

L’exemple suivant répertorie un exemple d’élément <globalSettings> pour un serveur WebDAV. Cet exemple définit les fournisseurs simples intégrés pour les verrous et les propriétés, et active les verrous WebDAV pour le serveur.

<system.webServer>
      <webdav>
         <globalSettings>
            <propertyStores>
               <add name="webdav_simple_prop" image="%windir%\system32\inetsrv\webdav_simple_prop.dll" />
            </propertyStores>
            <lockStores>
               <add name="webdav_simple_lock" image="%windir%\system32\inetsrv\webdav_simple_lock.dll" />
            </lockStores>
         </globalSettings>
         <authoring>
            <locks enabled="true" lockStore="webdav_simple_lock" />
         </authoring>
      </webdav>
   </system.webServer>

Exemple de code

Les exemples suivants activent la création WebDAV pour le site web par défaut et configurent le site afin que SSL ne soit pas requis pour la création WebDAV.

AppCmd.exe

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

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier ApplicationHost.config.

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()

Les exemples suivants configurent des règles de création WebDAV afin que les clients WebDAV puissent publier des fichiers qui ne sont pas répertoriés dans le mappage MIME IIS et ajouter une règle de création unique qui accorde l’accès en lecture, écriture et source au groupe Administrateurs.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:"True" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoringRules /+"[roles='administrators',path='*',access='Read, Write, Source']" /commit:apphost

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier ApplicationHost.config.

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 authoringRulesSection = config.GetSection("system.webServer/webdav/authoringRules", "Default Web Site");
         authoringRulesSection["allowNonMimeMapFiles"] = true;

         ConfigurationElementCollection authoringRulesCollection = authoringRulesSection.GetCollection();

         ConfigurationElement addElement = authoringRulesCollection.CreateElement("add");
         addElement["roles"] = @"administrators";
         addElement["path"] = @"*";
         addElement["access"] = @"Read, Write, Source";
         authoringRulesCollection.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 authoringRulesSection As ConfigurationSection = config.GetSection("system.webServer/webdav/authoringRules", "Default Web Site")
      authoringRulesSection("allowNonMimeMapFiles") = True

      Dim authoringRulesCollection As ConfigurationElementCollection = authoringRulesSection.GetCollection

      Dim addElement As ConfigurationElement = authoringRulesCollection.CreateElement("add")
      addElement("roles") = "administrators"
      addElement("path") = "*"
      addElement("access") = "Read, Write, Source"
      authoringRulesCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

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

var authoringRulesSection = adminManager.GetAdminSection("system.webServer/webdav/authoringRules", "MACHINE/WEBROOT/APPHOST/Default Web Site");
authoringRulesSection.Properties.Item("allowNonMimeMapFiles").Value = true;

var authoringRulesCollection = authoringRulesSection.Collection;

var addElement = authoringRulesCollection.CreateNewElement("add");
addElement.Properties.Item("roles").Value = "administrators";
addElement.Properties.Item("path").Value = "*";
addElement.Properties.Item("access").Value = "Read, Write, Source";
authoringRulesCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

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

Set authoringRulesSection = adminManager.GetAdminSection("system.webServer/webdav/authoringRules", "MACHINE/WEBROOT/APPHOST/Default Web Site")
authoringRulesSection.Properties.Item("allowNonMimeMapFiles").Value = True

Set authoringRulesCollection = authoringRulesSection.Collection

Set addElement = authoringRulesCollection.CreateNewElement("add")
addElement.Properties.Item("roles").Value = "administrators"
addElement.Properties.Item("path").Value = "*"
addElement.Properties.Item("access").Value = "Read, Write, Source"
authoringRulesCollection.AddElement(addElement)

adminManager.CommitChanges()