Compartilhar via


Como Adicionar Provedores de Autorização de Gerenciamento <add>

Visão geral

O elemento <add> do elemento <providers> adiciona um provedor de autorização à coleção de provedores de autorização de gerenciamento para IIS (Serviços de Informações da Internet) 7.

Observação

O provedor de autorização padrão, ConfigurationAuthorizationProvider, usa o arquivo Administration.config do IIS para armazenar regras de autorização para o Gerenciador do IIS.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <add> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <add> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <add> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <add> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <add> do elemento <providers> 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

  1. Na barra de tarefas, clique em Gerenciador do Servidor.

  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.

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

  4. 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.
    Screenshot of the Server Roles page. Management Tools is expanded. Management Service is selected and highlighted. .

  5. Na página Selecionar recursos, clique em Avançar.

  6. Na página Confirmar seleções de instalação, clique em Instalar.

  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  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.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
  3. Expanda Serviços de Informações da Internet, expanda Ferramentas de Gerenciamento da Web e selecione Serviço de Gerenciamento do IIS.
    Screenshot of the navigation tree in Programs and Features. The I I S Management Service folder is highlighted and selected.
  4. Clique em OK.
  5. Clique em Fechar.

Windows Server 2008 R2 ou Windows Server 2008

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
  4. 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.
    Screenshot of the Select Role Services page. This page is found in the Add Role Services Wizard. Management Service is selected and highlighted.
  5. Na página Confirmar Seleções de Instalação, clique em Instalar.
  6. Na página Resultados , clique em Fechar.

Windows Vista ou Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
  3. Expanda Serviços de Informação da Internet e selecione Ferramenta de Gerenciamento da Web.
  4. Selecione Serviço de gerenciamento do IIS e clique em OK.
    Screenshot of the I I S Management Service page. Enable remote connections is selected.

Instruções

Não há interface de usuário para configurar o elemento <providers> do elemento <authorization> para IIS 7. Para obter exemplos de como configurar o elemento <providers> do elemento <authorization> programaticamente, confira a seção Exemplos de código deste documento.

Configuração

Atributos

Atributo Descrição
name Atributo de cadeia de caracteres obrigatório.

Especifica o nome do provedor de autorização.
type Atributo de cadeia de caracteres obrigatório.

Especifica o tipo gerenciado do provedor de autenticação.

Elementos filho

Nenhum.

Exemplo de configuração

O elemento <providers> padrão a seguir no elemento <authorization> é configurado no arquivo Administration.config raiz no IIS 7 quando o serviço de função Management Service é instalado.

<authorization defaultProvider="ConfigurationAuthorizationProvider">
   <providers>
      <add name="ConfigurationAuthorizationProvider"
         type="Microsoft.Web.Management.Server.ConfigurationAuthorizationProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
   </providers>
</authorization>

Exemplo de código

Observação

Os exemplos neste documento ilustram o uso de um assembly de código gerenciado que foi armazenado no GAC (Cache de Assembly Global) do .NET. 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 autorização chamado ContosoAuthorizationProvider à coleção de provedores de autorização de gerenciamento e definem o provedor de autorização padrão como ContosoAuthorizationProvider.

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 authorizationSection = config.GetSection("system.webServer/management/authorization");
         ConfigurationElementCollection providersCollection = authorizationSection.GetCollection("providers");
         ConfigurationElement addElement = providersCollection.CreateElement("add");
         addElement["name"] = @"ContosoAuthorizationProvider";
         addElement["type"] = @"Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
         providersCollection.Add(addElement);
         authorizationSection["defaultProvider"] = "ContosoAuthorizationProvider";

         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 authorizationSection As ConfigurationSection = config.GetSection("system.webServer/management/authorization")
      Dim providersCollection As ConfigurationElementCollection = authorizationSection.GetCollection("providers")
      Dim addElement As ConfigurationElement = providersCollection.CreateElement("add")
      addElement("name") = "ContosoAuthorizationProvider"
      addElement("type") = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
      providersCollection.Add(addElement)
      authorizationSection("defaultProvider") = "ContosoAuthorizationProvider"

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject("Microsoft.ApplicationHost.WritableAdminManager"); 
adminManager.CommitPath = "MACHINE/WEBROOT"; 
adminManager.SetMetadata("pathMapper", "AdministrationConfig");

var authorizationSection = adminManager.GetAdminSection("system.webServer/management/authorization", "MACHINE/WEBROOT"); 
var providersCollection = authorizationSection.ChildElements.Item("providers").Collection;

var addElement = providersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "ContosoAuthorizationProvider";
addElement.Properties.Item("type").Value = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
providersCollection.AddElement(addElement);
authorizationSection.Properties.Item("defaultProvider").Value = "ContosoAuthorizationProvider";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT"
adminManager.SetMetadata "pathMapper", "AdministrationConfig"

Set authorizationSection = adminManager.GetAdminSection("system.webServer/management/authorization", "MACHINE/WEBROOT")
Set providersCollection = authorizationSection.ChildElements.Item("providers").Collection

Set addElement = providersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "ContosoAuthorizationProvider"
addElement.Properties.Item("type").Value = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
providersCollection.AddElement(addElement)
authorizationSection.Properties.Item("defaultProvider").Value = "ContosoAuthorizationProvider"

adminManager.CommitChanges()