WebDAV <webdav>
Visão geral
O elemento <webdav>
contém as configurações que configuram o WebDAV (Web Distributed Authoring and Versioning) para IIS (Serviços de Informações da Internet) 7. WebDAV é um padrão aberto baseado na Internet que permite a edição de sites por conexões HTTP e HTTPS. O WebDAV gera várias vantagens em relação ao protocolo FTP. As vantagens mais notáveis são mais opções de segurança e a capacidade de usar uma única porta TCP para toda a comunicação.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <webdav> não foi modificado no IIS 10.0. |
IIS 8.5 | O elemento <webdav> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <webdav> não foi modificado no IIS 8.0. |
IIS 7.5 | O elemento <webdav> é fornecido como um recurso do IIS 7.5. |
IIS 7.0 | O elemento <webdav> foi introduzido no WebDAV 7.0, que foi um download separado para o IIS 7.0. |
IIS 6,0 | N/D |
Observação
Os módulos WebDAV 7.0 e WebDAV 7.5 enviados fora de banda para o IIS 7.0, o que exigia o download e a instalação de módulos do seguinte URL:
Com o Windows 7 e o Windows Server 2008 R2, o módulo WebDAV 7.5 é fornecido como um recurso para o IIS 7.5, portanto, o download do WebDAV não é mais necessário.
Instalação
Para oferecer suporte à publicação WebDAV para seu servidor Web, você deve instalar o módulo WebDAV. Para fazer isso, execute as etapas a seguir.
Windows Server 2012 R2 ou Windows Server 2012
- Na barra de tarefas, clique em Gerenciador do Servidor.
- No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
- No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
- Na página Funções de Servidor, expanda Servidor Web (IIS), expanda Servidor Web, expanda Recursos HTTP Comuns e, em seguida, selecione Publicação WebDAV. Clique em Avançar.
- Na página Selecionar recursos, clique em Avançar.
- Na página Confirmar seleções de instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows 8 ou Windows 8.1
- Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
- Expanda Serviços de Informações da Internet, Serviços da World Wide Web, Recursos HTTP Comuns e selecione Publicação WebDAV.
- Clique em OK.
- Clique em Fechar.
Windows Server 2008 R2
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
- No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
- No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
- Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, expanda Recursos HTTP Comuns, selecione Publicação WebDAV e clique em Avançar.
- Na página Confirmar Seleções de Instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows 7
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
- Expanda Serviços de Informações da Internet e, em seguida, Serviços World Wide Web e, em seguida, Recursos HTTP Comuns.
- Selecione Publicação WebDAV e clique em OK.
Windows Server 2008 ou Windows Vista
Baixe o pacote de instalação do seguinte URL:
Siga as instruções no seguinte passo a passo para instalar o módulo WebDAV:
Instruções
Como habilitar a publicação WebDAV
Abra o Gerenciador dos Serviços de Informações da Internet (IIS):
Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:
- Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows 8 ou Windows 8.1:
- Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
- Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou Windows 7:
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
No painel Conexões, expanda o nome do servidor e vá para o site, aplicativo ou diretório em que deseja habilitar a publicação do WebDAV.
No painel Página Inicial, clique duas vezes em Regras de Criação WebDAV.
No painel Ações, clique em Habilitar WebDAV.
Observação
Depois de habilitar a publicação WebDAV, você precisará adicionar regras de criação antes que os usuários ou grupos possam publicar conteúdo no servidor. Para obter mais informações sobre como criar regras de criação, consulte o tópico authoringRules
.
Como adicionar regras de criação do WebDAV
Abra o Gerenciador dos Serviços de Informações da Internet (IIS):
Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:
- Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows 8 ou Windows 8.1:
- Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
- Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou Windows 7:
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
No painel Conexões, expanda o nome do servidor e vá para o site, aplicativo ou diretório em que deseja habilitar a pesquisa no diretório.
No painel Página Inicial, clique duas vezes em Regras de Criação WebDAV.
No painel Ações, clique em Adicionar Regra de Criação...
Na caixa de diálogo Adicionar Regra de Criação, especifique as seguintes opções:
- Permitir acesso a: especifique se a regra de criação deve se aplicar a todos os tipos de conteúdo ou especifique os tipos de conteúdo específicos a serem permitidos.
- Permitir acesso a este conteúdo: especifique se a regra de criação deve ser aplicada a todos os usuários, a grupos ou funções específicas ou a usuários específicos.
- Permissões: especifique se a regra de criação deve permitir acesso de Leitura, Gravação ou Origem para os usuários e tipos de conteúdo especificados.
Clique em OK.
Configuração
O elemento <webdav>
é configurável no nível global, do site e do diretório no arquivo ApplicationHost.config. As configurações do WebDAV em arquivos Web.config são ignoradas.
Atributos
Nenhum.
Elementos filho
Elemento | Descrição |
---|---|
authoring |
Elemento opcional. Especifica as configurações de criação do WebDAV. |
authoringRules |
Elemento opcional. Especifica as regras de criação para publicação do WebDAV. Essas regras especificam os tipos de conteúdo e as permissões de criação para usuários ou grupos. |
globalSettings |
Elemento opcional. Especifica as configurações globais do módulo WebDAV. |
Exemplo de configuração
O exemplo a seguir lista um elemento <webdav>
de exemplo para o site padrão. Este exemplo limpa todas as regras de criação existentes, adiciona uma única regra para o grupo de administradores, habilita a criação do WebDAV, especifica que arquivos ocultos são permitidos, habilita bloqueios WebDAV e especifica o provedor de bloqueio, habilita propriedades WebDAV e especifica o namespace XML padrão para mapeamento de propriedades.
<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>
O exemplo a seguir lista um elemento <globalSettings>
de exemplo para um servidor WebDAV. Este exemplo define os provedores simples internos para bloqueios e propriedades e habilita bloqueios WebDAV para o servidor.
<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>
Exemplo de código
Os exemplos a seguir habilitam a criação do WebDAV para o Site Padrão e configuram o site para que o SSL não seja necessário para a criação do WebDAV.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /enabled:"True" /requireSsl:"False" /commit:apphost
Observação
Defina o parâmetro commit para apphost
quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()
Os exemplos a seguir configuram regras de criação do WebDAV para que os clientes WebDAV possam publicar arquivos que não estejam listados no mapa MIME do IIS e adicionar uma única regra de criação que conceda acesso de leitura, gravação e origem ao grupo administrators.
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
Observação
Defina o parâmetro commit para apphost
quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()