Autenticação Gerenciamento <authentication>
Visão geral
O elemento <authentication>
do elemento <management>
especifica as credenciais de autenticação para contas de usuário do Gerenciador do IIS. Os usuários do Gerenciador do IIS podem usar o Gerenciador do IIS para se conectar a sites e aplicativos aos quais estão autorizados por um administrador de servidor.
Quando você usa o ConfigurationAuthenticationProvider padrão como o provedor de autenticação e habilita a autenticação do Gerenciador do IIS, o elemento filho <credentials>
pode conter uma série de elementos <add>
que definem os nomes de usuário e as senhas para as contas de usuário do Gerenciador do IIS. Essas contas de usuário do Gerenciador do IIS não são contas do Windows, portanto, elas estão limitadas a definir apenas os sites e as configurações que um administrador do servidor disponibiliza.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <authentication> não foi modificado no IIS 10.0. |
IIS 8.5 | O elemento <authentication> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <authentication> não foi modificado no IIS 8.0. |
IIS 7.5 | O elemento <authentication> não foi modificado no IIS 7.5. |
IIS 7.0 | O elemento <authentication> do elemento <management> foi introduzido no IIS 7.0. |
IIS 6,0 | N/D |
Instalação
A instalação padrão do IIS 7 e posterior não inclui o serviço de função Serviço de Gerenciamento. Para instalar esse serviço de função, siga 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 Ferramentas de Gerenciamento e selecione Serviço de Gerenciamento. 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, expanda Ferramentas de Gerenciamento da Web e selecione Serviço de Gerenciamento do IIS.
- Clique em OK.
- Clique em Fechar.
Windows Server 2008 R2 ou Windows Server 2008
- 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, selecione Serviço de Gerenciamento 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 Vista ou 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ção da Internet e selecione Ferramenta de Gerenciamento da Web.
- Selecione Serviço de gerenciamento do IIS e clique em OK.
Instruções
Como habilitar credenciais do Gerenciador do IIS para um servidor
Abra o Gerenciador do IIS (Serviços de Informações da Internet):
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 do IIS (Serviços de Informações da Internet).
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 do IIS (Serviços de Informações da Internet).
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 do IIS (Serviços de Informações da Internet).
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 do IIS (Serviços de Informações da Internet).
No painel Conexões, clique no nome do servidor.
No painel Página Inicial do servidor, clique duas vezes em Serviço de Gerenciamento.
Na página Serviço de Gerenciamento, escolha Credenciais do Windows ou do Gerenciador do IIS e clique em Aplicar no painel Ações.
Como adicionar credenciais do usuário do Gerenciador do IIS a um servidor
Abra o Gerenciador do IIS (Serviços de Informações da Internet):
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 do IIS (Serviços de Informações da Internet).
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 do IIS (Serviços de Informações da Internet).
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 do IIS (Serviços de Informações da Internet).
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 do IIS (Serviços de Informações da Internet).
No painel Conexões, clique no nome do servidor.
No painel Página Inicial do servidor, clique duas vezes em Usuários do Gerenciador do IIS.
Na página Usuários do Gerenciador do IIS, clique em Adicionar Usuário... no painel Ações.
Na caixa de diálogo Adicionar Usuário, digite o nome de usuário e a senha e clique em OK.
Configuração
Atributos
Atributo | Descrição |
---|---|
defaultProvider |
Atributo de cadeia de caracteres opcional. Especifica o provedor padrão que fornece autenticação para usuários do Gerenciador do IIS no servidor Web. Se você alterar o provedor padrão, será necessário reiniciar o Serviço de Gerenciamento (WMSVC) para que as alterações entrem em vigor. Se o Gerenciador do IIS estiver aberto, você também deverá abrir o Gerenciador do IIS novamente. |
Elementos filho
Elemento | Descrição |
---|---|
credentials |
Elemento opcional. Configura as credenciais de usuário do Gerenciador do IIS para que os usuários se conectem a sites e aplicativos no servidor usando o Gerenciador do IIS. |
providers |
Elemento opcional. Configura os provedores de autenticação que autenticam os usuários do Gerenciador do IIS que se conectam remotamente a sites e aplicativos usando o Gerenciador do IIS. |
Exemplo de configuração
O exemplo de configuração a seguir mostra como adicionar um usuário do Gerenciador do IIS chamado ContosoUser a Administration.config.
<credentials>
<add name="ContosoUser" password="Encrypted-Password-Data" enabled="true" />
</credentials>
O elemento <providers>
padrão a seguir no elemento <authentication>
é configurado no arquivo Administration.config no IIS 7 quando o serviço de função Management Service é instalado.
<authentication defaultProvider="ConfigurationAuthenticationProvider">
<providers>
<add name="ConfigurationAuthenticationProvider"
type="Microsoft.Web.Management.Server.ConfigurationAuthenticationProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</authentication>
Exemplo de código
Os exemplos de código a seguir adicionam uma conta de usuário do Gerenciador do IIS chamada ContosoUser ao IIS 7.
AppCmd.exe
Observação
Não é possível configurar as definições de <system.webServer/management/authentication>
usando AppCmd.exe.
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.GetAdministrationConfiguration();
ConfigurationSection authenticationSection = config.GetSection("system.webServer/management/authentication");
ConfigurationElementCollection credentialsCollection = authenticationSection.GetCollection("credentials");
ConfigurationElement addElement = credentialsCollection.CreateElement("add");
addElement["name"] = @"ContosoUser";
addElement["password"] = @"P@ssw0rd";
addElement["enabled"] = true;
credentialsCollection.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.GetAdministrationConfiguration
Dim authenticationSection As ConfigurationSection = config.GetSection("system.webServer/management/authentication")
Dim credentialsCollection As ConfigurationElementCollection = authenticationSection.GetCollection("credentials")
Dim addElement As ConfigurationElement = credentialsCollection.CreateElement("add")
addElement("name") = "ContosoUser"
addElement("password") = "P@ssw0rd"
credentialsCollection.Add(addElement)
addElement("enabled") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject("Microsoft.ApplicationHost.WritableAdminManager");
adminManager.CommitPath = "MACHINE/WEBROOT";
adminManager.SetMetadata("pathMapper", "AdministrationConfig");
var authenticationSection = adminManager.GetAdminSection("system.webServer/management/authentication", "MACHINE/WEBROOT");
var credentialsCollection = authenticationSection.ChildElements.Item("credentials").Collection;
var addElement = credentialsCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "ContosoUser";
addElement.Properties.Item("password").Value = "P@ssw0rd";
addElement.Properties.Item("enabled").Value = true;
credentialsCollection.AddElement(addElement);
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT"
adminManager.SetMetadata "pathMapper", "AdministrationConfig"
Set authenticationSection = adminManager.GetAdminSection("system.webServer/management/authentication", "MACHINE/WEBROOT")
Set credentialsCollection = authenticationSection.ChildElements.Item("credentials").Collection
Set addElement = credentialsCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "ContosoUser"
addElement.Properties.Item("password").Value = "P@ssw0rd"
addElement.Properties.Item("enabled").Value = True
credentialsCollection.AddElement(addElement)
adminManager.CommitChanges()
Observação
Os exemplos neste documento ilustram o uso de um assembly de código gerenciado que foi armazenado no .NET Global Assembly Cache (GAC). Antes de usar o código nesses exemplos para implantar seus próprios assemblies, você precisa recuperar as informações do assembly do GAC. Para fazer isso, execute as seguintes etapas:
- No Windows Explorer, abra o caminho C:\Windows\assembly, onde C: é a unidade do sistema operacional.
- Localize o assembly.
- Clique com o botão direito no assembly e selecione Propriedades.
- Copie o valor de Cultura, por exemplo: Neutro.
- Copie o número de Versão, por exemplo: 1.0.0.0.
- Copie o valor do Token de Chave Pública, por exemplo: 426f62526f636b73.
- Clique em Cancelar.
Os exemplos de código a seguir adicionam um provedor de autenticação chamado ContosoAuthenticationProvider à coleção de provedores de autenticação de gerenciamento e definem o provedor de autenticação padrão como ContosoAuthenticationProvider.
AppCmd.exe
Observação
Não é possível configurar as definições de <system.webServer/Management>
usando AppCmd.exe.
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.GetAdministrationConfiguration();
ConfigurationSection authenticationSection = config.GetSection("system.webServer/management/authentication");
ConfigurationElementCollection providersCollection = authenticationSection.GetCollection("providers");
ConfigurationElement addElement = providersCollection.CreateElement("add");
addElement["name"] = @"ContosoAuthenticationProvider";
addElement["type"] = @"Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
providersCollection.Add(addElement);
authenticationSection["defaultProvider"] = "ContosoAuthenticationProvider";
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.GetAdministrationConfiguration
Dim authenticationSection As ConfigurationSection = config.GetSection("system.webServer/management/authentication")
Dim providersCollection As ConfigurationElementCollection = authenticationSection.GetCollection("providers")
Dim addElement As ConfigurationElement = providersCollection.CreateElement("add")
addElement("name") = "ContosoAuthenticationProvider"
addElement("type") = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
providersCollection.Add(addElement)
authenticationSection("defaultProvider") = "ContosoAuthenticationProvider"
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject("Microsoft.ApplicationHost.WritableAdminManager");
adminManager.CommitPath = "MACHINE/WEBROOT";
adminManager.SetMetadata("pathMapper", "AdministrationConfig");
var authenticationSection = adminManager.GetAdminSection("system.webServer/management/authentication", "MACHINE/WEBROOT");
var providersCollection = authenticationSection.ChildElements.Item("providers").Collection;
var addElement = providersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "ContosoAuthenticationProvider";
addElement.Properties.Item("type").Value = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
providersCollection.AddElement(addElement);
authenticationSection.Properties.Item("defaultProvider").Value = "ContosoAuthenticationProvider";
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT"
adminManager.SetMetadata "pathMapper", "AdministrationConfig"
Set authenticationSection = adminManager.GetAdminSection("system.webServer/management/authentication", "MACHINE/WEBROOT")
Set providersCollection = authenticationSection.ChildElements.Item("providers").Collection
Set addElement = providersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "ContosoAuthenticationProvider"
addElement.Properties.Item("type").Value = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
providersCollection.AddElement(addElement)
authenticationSection.Properties.Item("defaultProvider").Value = "ContosoAuthenticationProvider"
adminManager.CommitChanges()