Condividi tramite


Applicazione Dipendenze applicazioneDependencies <>

Panoramica

L'elemento <applicationDependencies> dell'elemento di sicurezza> funziona in combinazione con l'elemento<<isapiCgiRestriction> per definire quali applicazioni hanno dipendenze da una o più restrizioni di estensione CGI o ISAPI. Se un'applicazione è contenuta in questo elemento , l'applicazione ha dipendenze su un elemento (o più elementi) nell'elemento <isapiCgiRestriction> .

Compatibilità

Versione Note
IIS 10.0 L'elemento <applicationDependencies> non è stato modificato in IIS 10.0.
IIS 8,5 L'elemento <applicationDependencies> non è stato modificato in IIS 8.5.
IIS 8,0 L'elemento <applicationDependencies> non è stato modificato in IIS 8.0.
IIS 7,5 L'elemento <applicationDependencies> non è stato modificato in IIS 7.5.
IIS 7.0 L'elemento <applicationDependencies> dell'elemento <security> è stato introdotto in IIS 7.0.
IIS 6.0 L'elemento <applicationDependencies> sostituisce l'attributo ApplicationDependencies IIS 6.0 dell'oggetto metabase IIsWebService .

Installazione

L'elemento <applicationDependencies> è incluso nell'installazione predefinita di IIS 7.

Procedure

Non esiste un'interfaccia utente per configurare l'elemento <applicationDependencies> per IIS 7. Per esempi di come configurare l'elemento a livello di codice, vedere la <applicationDependencies> sezione Esempi di codice di questo documento.

Configurazione

Attributi

Nessuno.

Elementi figlio

Elemento Descrizione
application Elemento facoltativo.

Specifica un'applicazione con dipendenze da una restrizione di estensione CGI o ISAPI.
clear Elemento facoltativo.

Rimuove tutti i riferimenti alle applicazioni dall'insieme applicationDependencies .

Esempio di configurazione

L'esempio di configurazione seguente illustra le dipendenze dell'applicazione nell'elemento <applicationDependencies> per il sito Web predefinito e le voci correlate in dopo aver installato Active Server Pages (ASP) e un'applicazione personalizzata in <isapiCgiRestriction> IIS 7:

  • L'applicazione Active Server Pages ha una dipendenza dal gruppo di restrizioni ISAPI/CGI "ASP".
  • L'applicazione personalizzata ha una dipendenza dal gruppo di restrizioni ISAPI/CGI "MyCustomGroup" e una dipendenza aggiuntiva dal gruppo di restrizioni ASP ISAPI/CGI.
<system.webServer>
   <security>
      <isapiCgiRestriction notListedIsapisAllowed="false" notListedCgisAllowed="false">
         <clear />
         <add allowed="true" groupId="ASP"
            path="C:\Windows\system32\inetsrv\asp.dll" 
            description="Active Server Pages" />
         <add allowed="true" groupId="MyCustomGroup"
            path="C:\Windows\system32\inetsrv\mycustom.dll"
            description="My Custom Application" />
      </isapiCgiRestriction>
   </security>
</system.webServer>

<location path="Default Web Site">
   <system.webServer>
      <security>
         <applicationDependencies>
            <application name="My Custom Application" groupId="MyCustomGroup">
               <add groupId="ASP" />
            </application>
         </applicationDependencies>
      </security>
   </system.webServer>
</location>

Codice di esempio

L'esempio di configurazione seguente illustra le dipendenze dell'applicazione nell'elemento <applicationDependencies> per il sito Web predefinito. L'applicazione personalizzata ha una dipendenza dal gruppo di restrizioni ISAPI/CGI "MyCustomGroup" e una dipendenza aggiuntiva dal gruppo di restrizioni ASP ISAPI/CGI.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/applicationDependencies /+"[name='My Custom Application',groupId='MyCustomGroup']" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/security/applicationDependencies /+"[name='My Custom Application',groupId='MyCustomGroup'].[groupId='ASP']" /commit:apphost

Nota

È necessario assicurarsi di impostare il parametro commit su apphost quando si usa AppCmd.exe per configurare queste impostazioni. Questa operazione esegue il commit delle impostazioni di configurazione nella sezione percorso appropriata nel file di 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 applicationDependenciesSection = config.GetSection("system.webServer/security/applicationDependencies", "Default Web Site");

         ConfigurationElementCollection applicationDependenciesCollection = applicationDependenciesSection.GetCollection();
         ConfigurationElement applicationElement = applicationDependenciesCollection.CreateElement("application");
         applicationElement["name"] = @"My Custom Application";
         applicationElement["groupId"] = @"MyCustomGroup";

         ConfigurationElementCollection applicationCollection = applicationElement.GetCollection();
         ConfigurationElement addElement = applicationCollection.CreateElement("add");
         addElement["groupId"] = @"ASP";
         applicationCollection.Add(addElement);
         applicationDependenciesCollection.Add(applicationElement);

         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 applicationDependenciesSection As ConfigurationSection = config.GetSection("system.webServer/security/applicationDependencies", "Default Web Site")

      Dim applicationDependenciesCollection As ConfigurationElementCollection = applicationDependenciesSection.GetCollection
      Dim applicationElement As ConfigurationElement = applicationDependenciesCollection.CreateElement("application")
      applicationElement("name") = "My Custom Application"
      applicationElement("groupId") = "MyCustomGroup"

      Dim applicationCollection As ConfigurationElementCollection = applicationElement.GetCollection
      Dim addElement As ConfigurationElement = applicationCollection.CreateElement("add")
      addElement("groupId") = "ASP"
      applicationCollection.Add(addElement)
      applicationDependenciesCollection.Add(applicationElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var applicationDependenciesSection = adminManager.GetAdminSection("system.webServer/security/applicationDependencies", "MACHINE/WEBROOT/APPHOST/Default Web Site");

var applicationDependenciesCollection = applicationDependenciesSection.Collection;
var applicationElement = applicationDependenciesCollection.CreateNewElement("application");
applicationElement.Properties.Item("name").Value = "My Custom Application";
applicationElement.Properties.Item("groupId").Value = "MyCustomGroup";

var applicationCollection = applicationElement.Collection;
var addElement = applicationCollection.CreateNewElement("add");
addElement.Properties.Item("groupId").Value = "ASP";
applicationCollection.AddElement(addElement);
applicationDependenciesCollection.AddElement(applicationElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set applicationDependenciesSection = adminManager.GetAdminSection("system.webServer/security/applicationDependencies", "MACHINE/WEBROOT/APPHOST/Default Web Site")

Set applicationDependenciesCollection = applicationDependenciesSection.Collection
Set applicationElement = applicationDependenciesCollection.CreateNewElement("application")
applicationElement.Properties.Item("name").Value = "My Custom Application"
applicationElement.Properties.Item("groupId").Value = "MyCustomGroup"

Set applicationCollection = applicationElement.Collection
Set addElement = applicationCollection.CreateNewElement("add")
addElement.Properties.Item("groupId").Value = "ASP"
applicationCollection.AddElement(addElement)
applicationDependenciesCollection.AddElement(applicationElement)

adminManager.CommitChanges()