Partager via


Règles de création WebDAV <authoringRules>

Vue d’ensemble

L’élément <authoringRules> peut être défini par URI au sein d’un site web et il spécifie les autorisations de création WebDAV pour cet espace d’URI. Les autorisations de cet élément sont héritées. Par conséquent, les URI enfants auront les mêmes autorisations qu’un URI parent, à condition que l’URI enfant ne dispose pas d’autorisations uniques définies.

L’élément contient une série d’éléments <add> qui définissent les règles de création individuelles, qui contiennent les autorisations d’accès pour les utilisateurs ou les groupes pour des types de contenu spécifiques.

Les règles de création WebDAV peuvent sembler quelque peu analogues aux paramètres d’autorisation figurant dans l’élément <authorization>, mais elles sont stockées séparément afin qu’IIS conserve deux ensembles d’autorisation différents : un pour les requêtes HTTP (non-WebDAV) régulières et l’autre pour les demandes WebDAV.

Compatibilité

Version Notes
IIS 10.0 L’élément <authoringRules> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <authoringRules> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <authoringRules> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <authoringRules> est fourni en tant que fonctionnalité d’IIS 7.5.
IIS 7.0 L’élément <authoringRules> a été introduit dans WebDAV 7.0, qui constituait un téléchargement distinct pour IIS 7.0.
IIS 6.0 N/A

Remarque

Les modules WebDAV 7.0 et WebDAV 7.5 n’étaient pas livrés avec IIS 7.0, mais nécessitaient un téléchargement et une installation via 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 de 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 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. Dans la page Rôles de serveur, développez Serveur web (IIS), développez Serveur web, développez Fonctionnalités HTTP courantes, puis sélectionnez Publication WebDAV. Sélectionnez Suivant.
    Screenshot that shows Web DAV Publishing selected for Windows Server 2012.
  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 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 Services World Wide Web, développez Fonctionnalités HTTP courantes, puis sélectionnez Publication WebDAV.
    Screenshot that shows Web DAV Publishing selected for Windows 8.
  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 de hiérarchie de 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 that shows Web DAV Publishing selected for Windows Server 2008.
  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 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 des Services World Wide Web, puis Fonctionnalités HTTP courantes.
  4. Sélectionnez Publication WebDAV, puis cliquez sur OK.
    Screenshot that shows Web DAV Publishing selected for Windows 7.

Windows Server 2008 ou Windows Vista

Procédure

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 :

      • Dans la barre des tâches, 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 où vous souhaitez activer l’exploration des répertoires.

  3. Dans le volet Accueil, double-cliquez sur Règles de création WebDAV.
    Screenshot that shows the Default Web Site Home pane. Web DAV Authoring Rules is selected.

  4. Dans le volet Actions, cliquez sur Ajouter une règle de création…
    Screenshot that shows the Web DAV Authoring Rules pane.

  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 ou Source pour les types de contenu et les utilisateurs spécifiés.
      Screenshot that shows the Add Authoring Role dialog box. All content is selected.
  6. Cliquez sur OK.

Configuration

Vous pouvez configurer l’élément <authoringRules> par URI dans le fichier ApplicationHost.config. Les paramètres peuvent être stockés globalement, au niveau du site ou par dossier. L’élément <authoringRules> ne peut pas être délégué. Par conséquent, tous les éléments <authoringRules> des fichiers Web.config sont ignorés.

Attributs

Attribut Description
defaultAccess Attribut d’indicateurs facultatifs.

Spécifie les paramètres d’accès par défaut pour la création WebDAV. Ces valeurs sont combinées avec une opération OR logique, donc "None, Read" = "Read".

Remarque :L’accès Source permet à un client WebDAV de demander le contenu d’un fichier mappé de script, tel qu’un fichier ASP.NET ou PHP, par opposition à la sortie traitée du fichier.

La valeur par défaut est None.

Valeur Description
None Aucune création n’est autorisée.

La valeur numérique est 0.
Read L'accès en lecture est autorisé.

La valeur numérique est 1.
Write L'accès en écriture est autorisé.

La valeur numérique est 2.
Source L’accès au code source est autorisé.

La valeur numérique est 16.
allowNonMimeMapFiles Attribut Boolean facultatif. true si les demandes WebDAV doivent être autorisées pour les fichiers qui ne sont pas définis dans le mappage MIME ; sinon, false. Par exemple, les fichiers mappés par script ne sont pas définis dans le mappage MIME, mais les auteurs web peuvent toujours avoir besoin de modifier ces fichiers, qui ne sont pas autorisés dans les demandes IIS par défaut. Lorsque sa valeur est true, le module WebDAV accepte les demandes de fichiers qui ne sont pas inclus dans le mappage MIME. Lorsque sa valeur est false, le module nécessite que tous les fichiers figurent dans le mappage MIME et il renvoie une erreur « 404.3 – La stratégie de mappage MIME empêche cette requête » pour toute demande qui ne correspond pas à la liste MIME. La valeur par défaut est false.
defaultMimeType Attribut de chaîne facultatif.

Spécifie le type MIME par défaut pour les fichiers qui n’ont pas de type MIME explicite défini.

La valeur par défaut est application/octet-stream.

Éléments enfants

Élément Description
add Élément facultatif.

Ajoute une règle de création à la collection de règles de création.
clear Élément facultatif.

Efface la collection de règles de création.
remove Élément facultatif.

Supprime une règle de création de la collection de règles de création.

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>

Exemple de code

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