Partager via


Fournisseurs approuvés de gestion <trustedProviders>

Vue d’ensemble

L’élément <trustedProviders> de l’élément <management> configure les fournisseurs de gestion approuvés par le Gestionnaire IIS et le service de gestion (WMSVC).

Avant d’appeler le fournisseur pour un site ou une application, les fonctionnalités Utilisateurs .NET et Rôles .NET vérifient que le fournisseur configuré est approuvé. S’il n’est pas approuvé, le paramètre de l’attribut allowUntrustedProviders détermine si les fournisseurs non approuvés sont autorisés à s’exécuter. Si les fournisseurs non approuvés ne sont pas autorisés et que le fournisseur n’est pas dans la collection de fournisseurs approuvés, le fournisseur n’est pas autorisé à s’exécuter.

Compatibilité

Version Notes
IIS 10.0 L’élément <trustedProviders> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <trustedProviders> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <trustedProviders> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <trustedProviders> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <trustedProviders> de l’élément <management> a été introduit dans IIS 7.0.
IIS 6.0 S/O

Programme d’installation

L’installation par défaut d’IIS 7 et versions ultérieures n’inclut pas le service de rôle Service de gestion. Pour installer ce service de rôle, procédez comme suit.

Windows Server 2012 ou Windows Server 2012 R2

  1. Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
  2. Dans Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités.
  3. 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.
  4. Dans la page Rôles serveur, développez Serveur web (IIS), Outils de gestion, puis sélectionnez Service de gestion. Sélectionnez Suivant.
    Screenshot of Management Service selected in a Windows Server 2012 interface. .
  5. Dans la page Sélectionner les composants, cliquez sur Suivant.
  6. Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
  7. Dans la page Résultats , cliquez sur Fermer.

Windows 8 ou Windows 8.1

  1. Dans l’écran d’accueil, déplacez le pointeur jusqu’au coin inférieur gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, Outils de gestion web, puis sélectionnez Service de gestion IIS.
    Screenshot of Management Service selected in a Windows 8 interface.
  4. Cliquez sur OK.
  5. Cliquez sur Fermer.

Windows Server 2008 ou Windows Server 2008 R2

  1. Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
  2. Dans le volet de hiérarchie Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
  3. 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.
  4. Dans la page Sélectionner des services de rôle de l’Assistant Ajout de services de rôle, sélectionnez Service de gestion, puis cliquez sur Suivant.
    Screenshot of Management Service selected in a Windows Server 2008 interface.
  5. Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
  6. Dans la page Résultats , cliquez sur Fermer.

Windows Vista ou Windows 7

  1. Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, puis Outil de gestion web.
  4. Sélectionnez Service de gestion IIS, puis cliquez sur OK.
    Screenshot of the Management Service pane in the I I S Manager.

Procédure

Il n’existe aucune interface utilisateur pour configurer l’élément <trustedProviders> pour IIS 7. Pour obtenir des exemples de configuration de l’élément <trustedProviders> par programmation, consultez la section Exemples de code de ce document.

Configuration

Attributs

Attribut Description
allowUntrustedProviders Attribut booléen facultatif.

Spécifie si les fournisseurs non approuvés peuvent s’exécuter.

Remarque importante : pour des raisons de sécurité, il n’est pas recommandé de remplacer cette valeur par true, car elle autorise l’exécution du code non approuvé sur votre serveur. Au lieu de cela, vous devez toujours tester un fournisseur et l’ajouter à la collection de fournisseurs approuvés uniquement lorsqu’il est sécurisé.

La valeur par défaut est false.

Éléments enfants

Élément Description
add Élément facultatif.

Ajoute un fournisseur à la collection de fournisseurs qui sont approuvés pour être exécutés par le Gestionnaire IIS et le service de gestion (WMSVC).

Exemple Configuration

L’élément par défaut <trustedProviders> suivant est configuré dans le fichier Administration.config racine dans IIS 7.0 lorsque le service de rôle Service de gestion est installé.

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

Exemple de code

Remarque

Les exemples dans ce document illustrent l’utilisation d’un assembly de code managé qui a été stocké dans le Global Assembly Cache (GAC) .NET. Avant d’utiliser le code dans ces exemples pour déployer vos propres assemblys, vous devez récupérer les informations d’assembly à partir du GAC. Pour cela, utilisez les étapes suivantes :

  • Dans l’Explorateur Windows, ouvrez votre chemin C:\Windows\assembly, où C: est votre lecteur de système d’exploitation.
  • Recherchez votre assembly.
  • Cliquez avec le bouton droit sur l’assembly et cliquez sur Propriétés.
  • Copiez la valeur Culture, par exemple Neutre.
  • Copiez le numéro de version, par exemple 1.0.0.0.
  • Copiez la valeur du jeton de clé publique, par exemple 426f62526f636b73.
  • Cliquez sur Annuler.

Les exemples de code suivants ajoutent un fournisseur nommé Contoso.Provider à la collection de fournisseurs de gestion approuvés.

AppCmd.exe

Remarque

Vous ne pouvez pas configurer les paramètres <system.webServer/Management> à l’aide d’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()