Création WebDAV <authoring>
Vue d’ensemble
L’élément <authoring>
spécifie les paramètres au niveau du site pour WebDAV. Le plus important de ces paramètres indique si la création WebDAV est activée pour le site. Des éléments supplémentaires définissent le comportement du module WebDAV, tels que les options de compatibilité et le fonctionnement du module WebDAV avec les propriétés, les verrous et le système de fichiers sous-jacent.
Compatibilité
Version | Notes |
---|---|
IIS 10.0 | L’élément <authoring> n’a pas été modifié dans IIS 10.0. |
IIS 8.5 | L’élément <authoring> n’a pas été modifié dans IIS 8.5. |
IIS 8.0 | L’élément <authoring> n’a pas été modifié dans IIS 8.0. |
IIS 7.5 | L’élément <authoring> est fourni en tant que fonctionnalité d’IIS 7.5. |
IIS 7.0 | L’élément <authoring> 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 :
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
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
- Dans Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités.
- 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.
- 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.
- Dans la page Sélectionner les composants, cliquez sur Suivant.
- Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
- Dans la page Résultats , cliquez sur Fermer.
Windows 8 ou Windows 8.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.
- Dans Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
- Développez Internet Information Services, développez Services World Wide Web, développez Fonctionnalités HTTP courantes, puis sélectionnez Publication WebDAV.
- Cliquez sur OK.
- Cliquez sur Fermer.
Windows Server 2008 R2
- Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
- Dans le volet de hiérarchie de Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
- 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.
- 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.
- Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
- Dans la page Résultats , cliquez sur Fermer.
Windows 7
- Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
- Dans Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
- Développez internet Information Services, puis des Services World Wide Web, puis Fonctionnalités HTTP courantes.
- Sélectionnez Publication WebDAV, puis cliquez sur OK.
Windows Server 2008 ou Windows Vista
Téléchargez le package d’installation à partir de l’URL suivante :
Suivez les instructions de la procédure pas à pas suivante pour installer le module WebDAV :
Procédure
Comment activer la publication WebDAV
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).
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 la publication WebDAV.
Dans le volet Accueil, double-cliquez sur Règles de création WebDAV.
Dans le volet Actions, cliquez sur Activer WebDAV.
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
.
Configuration
Vous pouvez configurer l’élément <authoring>
uniquement au niveau du site dans le fichier ApplicationHost.config. Tous les éléments <authoring>
à d’autres niveaux ou dans les fichiers Web.config sont ignorés.
Attributs
Attribut | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
compatFlags |
Attribut d’indicateurs facultatifs. Spécifie les options de compatibilité pour WebDAV. Il existe plusieurs comportements utilisés dans les versions précédentes des implémentations WebDAV de Microsoft, et les indicateurs de cet attribut spécifient quels comportements le nouveau module WebDAV implémentera. L’attribut compatFlags peut avoir une ou plusieurs des valeurs possibles suivantes. Si vous spécifiez plusieurs valeurs, séparez-les par une virgule (,). La valeur par défaut est MsAuthorVia, MultiProp, CompactXml, IsHidden, IsCollection .
|
||||||||||||||
enabled |
Attribut Boolean facultatif. true si la création WebDAV est activée ; sinon, false. La valeur par défaut est false . |
||||||||||||||
maxAllowedXmlRequestLength |
Attribut uint facultatif. Spécifie la longueur maximale, en octets, du corps XML de la demande pour les demandes WebDAV. Remarque : Cet attribut a été ajouté dans WebDAV 7.5 et IIS 7.5. La valeur par défaut est 1000000 . |
||||||||||||||
requireSsl |
Attribut Boolean facultatif. true si SSL est requis pour la création WebDAV ; sinon, false. L’exigence de SSL pour la création de WebDAV ajoute une couche de sécurité supplémentaire, mais augmente la surcharge de traitement pour chaque demande. La valeur par défaut est false . |
Éléments enfants
Élément | Description |
---|---|
fileSystem |
Élément facultatif. Spécifie comment le module WebDAV interagit avec le système de fichiers sous-jacent. |
locks |
Élément facultatif. Spécifie les paramètres de verrouillage WebDAV. |
properties |
Élément facultatif. Spécifie les paramètres de propriété 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>
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 activent les verrous WebDAV pour le site web par défaut à l’aide du fournisseur de verrous simple et configurent le site afin que les verrous ne soient pas requis pour la création WebDAV.
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
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");
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()
Les exemples suivants configurent les paramètres de propriété WebDAV afin que les requêtes de propriétés anonymes et de profondeur infinie soient désactivées. Ils activent également les propriétés personnalisées avec l’espace de noms XML par défaut mappé au fournisseur webdav_simple_prop intégré.
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
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");
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()