Configurare e distribuire web part protette nel server (Windows SharePoint Services)

In Microsoft Windows SharePoint Services 3.0 è disponibile un insieme di web part che gli amministratori del sito possono aggiungere alle pagine di web part dopo l'installazione del prodotto. È tuttavia possibile che l'organizzazione necessiti di web part personalizzate. In tal caso, le web part di ASP.NET 2.0 verranno scritte da uno sviluppatore e dovranno essere installate in una distribuzione di Windows SharePoint Services.

Windows SharePoint Services utilizza alcune delle impostazioni di gestione della configurazione disponibili in Microsoft .NET Framework. Alcune di queste impostazioni sono archiviate nei file di configurazione XML e offrono un'ampia gamma di impostazioni che consentono agli amministratori dei server di gestire l'applicazione Web e il relativo ambiente. Per ulteriori informazioni sui file di configurazione di ASP.NET 2.0, vedere Informazioni su Machine.Config e Web.Config (https://go.microsoft.com/fwlink/?linkid=103450&clcid=0x410) (informazioni in lingua inglese) in "Protezione dell'applicazione e dei servizi Web ASP.NET" in MSDN Library.

Opzioni di configurazione

Gli amministratori del sistema possono distribuire web part di ASP.NET 2.0 in una distribuzione di Windows SharePoint Services in uno dei due percorsi seguenti:

  • Directory bin Disponibile nella directory radice dell'applicazione Web.

  • Cache assembly globale Tutte le web part standard vengono installate automaticamente con Common Language Runtime di .NET Framework. La memorizzazione nella cache assembly globale consente di condividere le web part in numerose applicazioni. I componenti vengono in genere memorizzati nel percorso C:\WINNT\Assembly.

Ogni percorso presenta vantaggi e svantaggi, come illustrato nella tabella seguente.

Percorso di distribuzione Vantaggi Svantaggi

Directory bin

Percorso con attendibilità parziale. Per impostazione predefinita, il codice eseguito da questa directory dispone di un livello basso di autorizzazioni di protezione dall'accesso di codice. Per consentirne il corretto funzionamento, è necessario che l'amministratore incrementi in modo esplicito le autorizzazioni concesse a una web part. A causa di questo livello di controllo e delle difese approfondite, gli amministratori tendono a preferire che gli assembly vengano eseguiti nella directory bin, con un insieme noto di autorizzazioni di protezione dall'accesso di codice obbligatorie.

Una directory bin è inoltre specifica per un'applicazione Web. Ciò consente di isolare codice relativo a un'applicazione Web specifica.

Per eseguire la web part in qualsiasi posizione, è necessario distribuire l'assembly Bin.

CAG

Percorso globale in cui è possibile distribuire assembly firmati. Per impostazione predefinita, gli assembly vengono eseguiti con attendibilità completa e vengono installati a livello globale, in modo da potere funzionare in qualsiasi applicazione Web.

Per il codice installato nella cache di assembly globale in genere non è prevista alcuna limitazione di protezione dall'accesso di codice. Non è quindi disponibile il vantaggio della protezione garantita dalle difese approfondite.

Può inoltre risultare difficile distribuire i file del database di programma (con estensione pdb) in assembly nella nella cache di assembly globale.

Impostazione degli attributi di protezione speciali

Alle web part di ASP.NET 2.0 archiviate nella directory bin vengono applicati vincoli speciali relativi alla protezione. È possibile scegliere se impostare attributi di protezione speciali per la web part, in base alla modalità di utilizzo prevista.

La directory bin è un percorso con attendibilità parziale. Quando viene eseguita, la web part non concede quindi automaticamente autorizzazioni codice con attendibilità completa. Poiché al codice che chiama la web part vengono concesse solo autorizzazioni con attendibilità parziale, lo sviluppatore della web part deve impostare l'attributo AllowPartiallyTrustedCallers nella web part di ASP.NET 2.0.

Nota

Contrassegnando un componente come "sicuro" tramite l'attributo AllowPartiallyTrustedCallers, lo sviluppatore si assume la responsabilità dell'implementazione sicura.

Le autorizzazioni protezione dell'accesso di codice per la directory bin sono molto basse per impostazione predefinita. È consentita solo la semplice esecuzione. Per la corretta esecuzione dell'assembly, è quasi sicuramente necessario elevare tali autorizzazioni.

È possibile elevare le autorizzazioni in due modi:

  • Scelta consigliata) Creare un file di criteri di attendibilità e associare il file web.config al nuovo file. Questa opzione è più complessa, ma offre autorizzazioni precise per le web part. Per ulteriori informazioni sui file di criteri di attendibilità, vedere Microsoft Windows SharePoint Services e protezione dell'accesso di codice (informazioni in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=103436&clcid=0x410) in MSDN Library Online.

  • Aumentare il livello di attendibilità complessivo della directory bin. Nel file Web.config nella directory principale dell'applicazione individuare l'elemento trust. Il valore predefinito per l'attributo level dell'elemento trust è WSS_Minimal. È possibile modificare questo livello in WSS_Medium. Benché questa opzione sia più semplice, concede nuove autorizzazioni arbitrarie che potrebbero non essere necessarie e risulta meno sicura rispetto alla creazione di un file di criteri di attendibilità.

Elenco dei controlli sicuri

Un concetto fondamentale di Prodotti e tecnologie SharePoint prevede che gli "utenti non attendibili" possano caricare e creare pagine con estensione aspx nel sistema in cui è in esecuzione Windows SharePoint Services. È necessario impedire a tali utenti di aggiungere codice sul lato server nelle pagine con estensione aspx, ma deve essere disponibile un elenco di controlli approvati che possono essere utilizzati da tali utenti non attendibili. In Windows SharePoint Services tali informazioni sono incluse nell'elenco dei controlli sicuri.

L'elenco dei controlli sicuri è un elenco di controlli e web part specifici del sito di SharePoint che possono essere designati dagli amministratori come sicuri per la chiamata in qualsiasi pagina con estensione aspx in un sito. Questo elenco viene memorizzato nel file Web.config nella directory principale dell'applicazione Web.

Requisiti per l'attività

Per eseguire le procedure relative a questa attività, sono necessari i requisiti seguenti:

  • Privilegi di amministratore in un computer server in cui è installato Microsoft Windows SharePoint Services 3.0.

Per configurare e distribuire web part protette nel server, è possibile eseguire le procedure seguenti.