Поделиться через


Добавление надежных поставщиков <управления добавление>

Общие сведения

Элемент <add><trustedProviders> элемента добавляет поставщика в коллекцию поставщиков управления, которые являются доверенными для запуска диспетчером IIS и службой управления (WMSVC).

Перед вызовом поставщика для сайта или приложения функции пользователи .NET и роли .NET проверяют, является ли настроенный поставщик доверенным. Если он не является доверенным, параметр в атрибуте allowUntrustedProviders определяет, разрешено ли выполнение ненадежных поставщиков. Если недоверенные поставщики не разрешены и поставщик не входит в коллекцию доверенных поставщиков, поставщик не будет разрешен к запуску.

Совместимость

Версия Примечания
IIS 10.0 Элемент <add> не был изменен в IIS 10.0.
IIS 8,5 Элемент <add> не был изменен в IIS 8.5.
IIS 8,0 Элемент <add> не был изменен в IIS 8.0.
IIS 7,5 Элемент <add> не был изменен в IIS 7.5.
IIS 7.0 Элемент <add> элемента появился <trustedProviders> в IIS 7.0.
IIS 6,0 Н/Д

Настройка

Установка служб IIS 7 и более поздних версий по умолчанию не включает службу роли службы управления . Чтобы установить эту службу роли, выполните следующие действия.

Windows Server 2012 или Windows Server 2012 R2

  1. На панели задач щелкните Диспетчер сервера.
  2. В диспетчер сервера откройте меню Управление и выберите пункт Добавить роли и компоненты.
  3. В мастере добавления ролей и компонентов нажмите кнопку Далее. Выберите тип установки и нажмите кнопку Далее. Выберите целевой сервер и нажмите кнопку Далее.
  4. На странице Роли сервера разверните узел Веб-сервер (IIS), средства управления, а затем выберите Служба управления. Щелкните Далее.
    Снимок экрана: развернутый узел .
  5. На странице Выбор компонентов нажмите кнопку Далее.
  6. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
  7. На странице Результаты нажмите кнопку Закрыть.

Windows 8 или Windows 8.1

  1. На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите пункт панель управления.
  2. В панель управления щелкните Программы и компоненты, а затем — Включить или выключить компоненты Windows.
  3. Разверните узел Службы IIS, средства веб-управления, а затем выберите Служба управления IIS.
    Снимок экрана: панель
  4. Нажмите кнопку ОК.
  5. Щелкните Закрыть.

Windows Server 2008 или Windows Server 2008 R2

  1. На панели задач нажмите кнопку Пуск, наведите указатель мыши на пункт Администрирование, а затем щелкните диспетчер сервера.
  2. В области иерархии диспетчер сервера разверните узел Роли, а затем щелкните Веб-сервер (IIS) .
  3. В области Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.
  4. На странице Выбор служб ролеймастера добавления служб ролей выберите Служба управления и нажмите кнопку Далее.
    Снимок экрана: развернутый узел
  5. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
  6. На странице Результаты нажмите кнопку Закрыть.

Windows Vista или Windows 7

  1. На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
  2. В панель управления щелкните Программы и компоненты, а затем — Включить или отключить компоненты Windows.
  3. Разверните узел Службы IIS, а затем — Средство управления веб-сайтом.
  4. Выберите Служба управления IIS и нажмите кнопку ОК.
    Снимок экрана: страница службы управления I IS с выбранным параметром

Инструкции

Отсутствует пользовательский интерфейс для настройки <trustedProviders> элемента для IIS 7. Примеры настройки <trustedProviders> элемента программными средствами см. в разделе Примеры кода этого документа.

Конфигурация

Атрибуты

Атрибут Описание
type Обязательный строковый атрибут.

Указывает имя типа с указанием сборки для поставщика.

Дочерние элементы

Отсутствует.

Образец конфигурации

Следующий элемент по умолчанию <trustedProviders> настраивается в корневом файле Administration.config в IIS 7.0 при установке службы роли службы управления.

<trustedProviders allowUntrustedProviders="false">
   <add type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <add type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <add type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</trustedProviders>

Пример кода

Примечание

Примеры в этом документе иллюстрируют использование сборки с управляемым кодом, хранящейся в глобальном кэше сборок .NET (GAC). Прежде чем использовать код в этих примерах для развертывания собственных сборок, необходимо получить сведения о сборке из GAC. Для этого выполните следующие действия.

  • В Windows Обозреватель откройте путь C:\Windows\assembly, где C: — это диск операционной системы.
  • Найдите сборку.
  • Щелкните сборку правой кнопкой мыши и выберите пункт Свойства.
  • Скопируйте значение языка и региональных параметров ; Например: Нейтральная.
  • Скопируйте номер версии ; например: 1.0.0.0.
  • Скопируйте значение токена открытого ключа ; например: 426f62526f636b73.
  • Щелкните Отмена.

В следующих примерах кода добавляется поставщик с именем Contoso.Provider в коллекцию доверенных поставщиков управления.

AppCmd.exe

Примечание

Вы не можете настроить <system.webServer/Management> параметры с помощью 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 trustedProvidersSection = config.GetSection("system.webServer/management/trustedProviders");
         ConfigurationElementCollection trustedProvidersCollection = trustedProvidersSection.GetCollection();
         ConfigurationElement addElement = trustedProvidersCollection.CreateElement("add");
         addElement["type"] = @"Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
         trustedProvidersCollection.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 trustedProvidersSection As ConfigurationSection = config.GetSection("system.webServer/management/trustedProviders")
      Dim trustedProvidersCollection As ConfigurationElementCollection = trustedProvidersSection.GetCollection
      Dim addElement As ConfigurationElement = trustedProvidersCollection.CreateElement("add")
      addElement("type") = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
      trustedProvidersCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

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

var trustedProvidersSection = adminManager.GetAdminSection("system.webServer/management/trustedProviders", "MACHINE/WEBROOT"); 
var trustedProvidersCollection = trustedProvidersSection.Collection;

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

adminManager.CommitChanges();

VBScript

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

Set trustedProvidersSection = adminManager.GetAdminSection("system.webServer/management/trustedProviders", "MACHINE/WEBROOT")
Set trustedProvidersCollection = trustedProvidersSection.Collection

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

adminManager.CommitChanges()