Configurare e distribuire web part (SharePoint Server 2010)

 

Si applica a: SharePoint Foundation 2010, SharePoint Server 2010

Ultima modifica dell'argomento: 2016-11-30

Questo articolo contiene le informazioni e le procedure necessarie per configurare e distribuire web part sicure nella directory Bin o nella Global Assembly Cache di .NET Framework nel server.

Contenuto dell'articolo:

Microsoft SharePoint Server include un set di web part che possono essere aggiunte alle pagine dopo aver installato il prodotto. Se in un'organizzazione sono necessarie web part personalizzate, uno sviluppatore può scrivere web part ASP.NET personalizzate che verranno poi installate dall'amministratore in una distribuzione di SharePoint Server. Questo processo richiede in genere il testing e l'approvazione del codice prima che la web part venga distribuita in un ambiente completamente attendibile. Uno sviluppatore che utilizza Visual Studio 2010 può distribuire una web part in SharePoint Server facendo clic con il pulsante destro del mouse sul progetto e scegliendo Distribuisci. La destinazione della web part è determinata dal livello di attendibilità stabilito nel server SharePoint nel momento in cui lo sviluppatore crea il progetto in Visual Studio 2010.

Microsoft SharePoint Server 2010 consente di configurare un ambiente in modalità sandbox in cui gli amministratori delle raccolte siti, gli amministratori dei siti o gli information worker possono distribuire ed eseguire web part e soluzioni parzialmente attendibili in un processo di lavoro in modalità sandbox. Le web part e le soluzioni eseguite in un ambiente in modalità sandbox dispongono di autorizzazioni limitate per accedere al sistema operativo e all'hardware del server e sono isolate da altre parti dell'applicazione Web.

Per ulteriori informazioni sull'utilizzo di soluzioni in modalità sandbox, vedere Amministrazione delle soluzioni in modalità sandbox (SharePoint Server 2010).

SharePoint Server utilizza alcune delle impostazioni di gestione della configurazione disponibili in Microsoft .NET Framework. Alcune di queste impostazioni vengono memorizzate 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 proprio ambiente. Per ulteriori informazioni sui file di configurazione di ASP.NET, vedere Informazioni su Machine.Config e Web.Config (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=103450&clcid=0x410) in "Protezione dell'applicazione e dei servizi Web ASP.NET" in MSDN Library.

Opzioni di configurazione

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

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

  • Global Assembly Cache Tutte le web part standard vengono installate automaticamente nella Global Assembly Cache, dove si trova Common Language Runtime di .NET Framework, in %windir%\assembly. Le web part memorizzate nella Global Assembly Cache possono essere condivise tra le applicazioni.

Nella tabella seguente sono descritti i vantaggi e gli svantaggi di ogni percorso.

Percorso di distribuzione Vantaggi Svantaggi

Directory bin

Percorso con attendibilità parziale. Per impostazione predefinita, il codice eseguito da questa directory dispone di un basso livello di autorizzazioni di sicurezza dall'accesso di codice. Se la web part richiede l'accesso fra applicazioni o un livello di accesso superiore rispetto alle autorizzazioni predefinite, è necessario che l'amministratore incrementi in modo esplicito le autorizzazioni concesse a una web part per consentirne il corretto funzionamento. Gli amministratori tendono a preferire che gli assembly vengano eseguiti nella directory Bin, con un insieme minimo noto di autorizzazioni di protezione dall'accesso di codice obbligatorie.

Poiché la directory Bin è specifica per un'applicazione Web, è possibile utilizzare questo metodo per isolare codice relativo a una singola applicazione Web.

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

Global Assembly Cache

Percorso globale in cui è possibile distribuire assembly firmati, che possono essere eseguiti con attendibilità completa per impostazione predefinita. Poiché gli assembly vengono installati a livello globale, essi possono funzionare in qualsiasi applicazione Web.

In genere, per il codice installato nella Global Assembly Cache non è prevista alcuna limitazione di protezione dall'accesso di codice. Non è quindi disponibile il vantaggio della sicurezza di difesa approfondita.

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

Impostazione degli attributi di sicurezza

Alle web part ASP.NET archiviate nella directory Bin vengono applicati attributi di sicurezza aggiuntivi. È possibile decidere se impostare tali attributi per la web part, in base alla modalità di utilizzo prevista.

La directory Bin è un percorso con attendibilità parziale. Quando viene eseguita, alla web part non vengono concesse automaticamente autorizzazioni per 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 ASP.NET.

Contrassegnando un componente come "sicuro" tramite l'attributo AllowPartiallyTrustedCallers, il team di sviluppo si assume la responsabilità per l'implementazione sicura.

Per impostazione predefinita, le autorizzazioni di protezione dall'accesso di codice per la directory Bin sono molto basse. È consigliabile verificare attentamente la web part per determinare il livello corretto di autorizzazioni da assegnare e per accertarsi che la web part non presenti rischi di sicurezza per l'ambiente.

È 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 consente di impostare autorizzazioni precise per le web part. Per ulteriori informazioni sui file di criteri di attendibilità, vedere Microsoft Windows SharePoint Services e sicurezza dell'accesso di codice (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=103436&clcid=0x410) in MSDN Library.

  • Aumentare il livello di attendibilità complessivo della directory Bin. Nel file Web.config della directory radice dell'applicazione Web 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 SharePoint prevede che gli utenti non attendibili possano caricare e creare pagine con estensione aspx nel sistema in cui è in esecuzione SharePoint Server. È consigliabile 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 possano essere utilizzati da tali utenti non attendibili. In SharePoint Server tali informazioni sono incluse nell'elenco dei controlli sicuri.

L'elenco dei controlli sicuri contiene i nomi 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 all'interno di un sito. Questo elenco fa parte del file Web.config presente nella directory radice dell'applicazione Web.

Distribuire e configurare una web part

Il metodo che si utilizza per distribuire una nuova web part dipende dal pacchetto finito fornito dallo sviluppatore. Se lo sviluppatore fornisce la web part come singolo file DLL (Dynamic Link Library), è possibile distribuire manualmente il file DLL copiandolo nella cartella Bin dell'applicazione Web. Se lo sviluppatore fornisce un file CAB contenente la web part, è possibile utilizzare Windows PowerShell per distribuire la web part.

Per distribuire e configurare manualmente una web part

  1. Verificare di disporre delle credenziali amministrative seguenti:

    • È necessario essere membri del gruppo Administrators locale nel server che ospita SharePoint Server.
  2. Copiare l'assembly <NomeWebPart>.dll dalla directory Bin del progetto a quella della directory radice dell'applicazione Web, ad esempio C:\inetpub\wwwroot\wss\VirtualDirectories\80\.

  3. Individuare il file Web.config nella directory radice dell'applicazione e aprirlo per la modifica.

  4. Nel file Web.config aggiungere la voce di controllo sicuro seguente per l'assembly personalizzato:

    <SafeControl Assembly="<YourWebPartName>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="<YourWebPartNamespace>" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>
    

    Dove:

    1. <NomeWebPart> è il nome della web part da distribuire.

    2. <SpazioNomiWebPart> è lo spazio dei nomi associato alla web part.

In alternativa all'installazione manuale di una web part nella cartella Bin o alla modifica manuale del file Web.config, è possibile utilizzare Windows PowerShell per installare il pacchetto della web part. Per garantire il funzionamento di questo processo, uno sviluppatore o un amministratore di sistema deve creare un pacchetto della soluzione CAB per la web part. Per ulteriori informazioni sulla creazione di un pacchetto CAB, vedere la documentazione Soluzioni e pacchetti web part (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=95855&clcid=0x410) in MSDN Library. Dopo aver creato un file CAB, eseguire la procedura seguente per distribuire la web part.

Per distribuire la web part tramite Windows PowerShell

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su SharePoint 2010 Management Shell.

  5. Al prompt dei comandi di Windows PowerShell (PS C:\>) digitare il comando seguente e quindi premere INVIO:

    Install-SPWebPartPack -LiteralPath "<PathToCabFile>" -Name "<WebPartName>"
    

    Dove:

    • <PercorsoFileCAB> è il percorso completo del file CAB che viene distribuito.

    • <NomeWebPart> è il nome della web part che viene distribuita.

Nota

La procedura precedente rappresenta un modo comune per utilizzare Install-SPWebPartPack per la distribuzione di una web part. È possibile specificare parametri aggiuntivi per cambiare il modo in cui viene distribuita la web part. Per ulteriori informazioni, vedere Install-SPWebPartPack.

Nota

Per l'esecuzione di attività amministrative dalla riga di comando è consigliabile utilizzare Windows PowerShell. Lo strumento da riga di comando Stsadm è deprecato, ma è stato incluso per garantire la compatibilità con le versioni precedenti del prodotto.

Aggiungere un componente alla raccolta web part

Ogni web part deve includere un file webpart, ovvero un file XML che descrive la web part e che ne consente la visualizzazione nella raccolta web part. La procedura riportata di seguito è il metodo più semplice per creare un file webpart dopo la distribuzione e la registrazione della web part nell'elenco dei controlli sicuri.

Per aggiungere un componente alla raccolta web part

  1. Verificare di disporre delle credenziali amministrative seguenti:

    • È necessario essere membri del gruppo Amministratori farm.
  2. Per creare un file webpart, passare a http://<server>/_layouts/newdwp.aspx, dove <server> è il nome del server in cui è distribuito il sito di SharePoint.

  3. Selezionare la casella di controllo accanto a <SpazioNomiWebPart>.<NomeWebPart>.

  4. Fare clic su Popola raccolta per aggiungere la web part NomeWebPart alla raccolta di siti del team.

  5. Nella raccolta web part selezionare Modifica per modificare la web part e quindi fare clic su Importa.

    Verrà chiesto di specificare un percorso per il file webpart. È inoltre possibile esportare web part ASP.NET 2.0 e importarle in siti di SharePoint.