Partager via


Considérations relatives à la solution en bac à sable

Les solutions en bac à sable sont une fonctionnalité de Microsoft SharePoint 2010 qui permet aux utilisateurs de collection de sites de charger leurs propres solutions de code personnalisées. Une solution en bac à sable courante consiste pour les utilisateurs à charger leurs propres parties Web.

Une application SharePoint en bac à sable s’exécute dans un processus sécurisé et supervisé qui a accès à une partie limitée de la batterie de serveurs Web. Microsoft SharePoint 2010 utilise une combinaison de fonctionnalités, de galeries de solutions, de supervision des solutions et d’une infrastructure de validation pour activer les solutions bac à sable (sandbox).

Spécifier le niveau de confiance du projet

Visual Studio prend en charge les solutions en bac à sable via une propriété de projet booléenne appelée Solution bac à sable ( Sandboxed Solution). Cette propriété peut être définie à tout moment dans le projet, ou elle peut être spécifiée lorsque vous créez le projet dans l’Assistant Personnalisation SharePoint.

Note

La modification de la propriété Solution en bac à sable d’un projet après sa création peut entraîner des erreurs de validation.

La solution est considérée comme une solution délimitée par une batterie de serveurs si la propriété Solution en bac à sable a la valeur false ou si vous choisissez l’option Déployer en tant que solution de batterie de serveurs . Toutefois, la solution est traitée différemment d’une solution de ferme si la propriété Solution en bac à sable a la valeur true ou si vous choisissez l’option Déployer en tant que solution en bac à sable dans l’Assistant.

Hiérarchie de site SharePoint

Pour comprendre le fonctionnement des solutions en bac à sable "sandbox", il est utile de savoir que les sites SharePoint ont une portée hiérarchique. L’élément supérieur est appelé batterie de serveurs Web, et d’autres éléments sont subordonnés à celui-ci :

Ferme de serveurs Web

Web Application A

Collection de sites A1

Site A1a

Web Application B

Collection de sites B1

Site B1a

Site B1b

Collection de sites B2

Site B2a

Comme vous pouvez le voir, les batteries de serveurs Web peuvent contenir une ou plusieurs applications Web, qui à leur tour peuvent contenir une ou plusieurs collections de sites, qui peuvent avoir des sous-sites, etc. Les modifications apportées à une collection de sites affectent uniquement cette collection de sites et aucune autre. Toutefois, les modifications apportées au niveau de la batterie de serveurs Web affectent toutes les collections de sites de la batterie de serveurs.

Windows SharePoint Services (WSS) 3.0 vous permet de déployer des solutions uniquement au niveau de la batterie de serveurs. En revanche, Microsoft SharePoint Foundation vous permet de les déployer soit au niveau de la batterie de serveurs (solution de batterie de serveurs), soit au niveau de la collection de sites (solution sandbox).

Pourquoi les solutions en bac à sable ?

Dans WSS 3.0, les solutions peuvent être déployées uniquement au niveau de la batterie de serveurs. Cela signifie que des solutions potentiellement dangereuses ou déstabilisantes peuvent être déployées, qui pourraient affecter l’ensemble de la batterie de serveurs Web ainsi que toutes les autres collections de sites et applications qui dépendent de celle-ci. Toutefois, à l’aide de solutions en bac à sable, vous pouvez déployer vos solutions dans une sous-zone de la ferme, une collection de sites spécifique. Pour fournir une protection supplémentaire, l’assembly de la solution n’est pas chargé dans le processus IIS principal (w3wp.exe). Au lieu de cela, il est chargé dans un processus distinct (SPUCWorkerProcess.exe). Ce processus est surveillé et met en œuvre des quotas et un rationnement pour protéger la ferme de serveurs contre les solutions bac à sable qui effectuent des activités nuisibles, telles que l'exécution de boucles intensives qui consomment des cycles de processeur.

Windows SharePoint Services 2010 a une fonctionnalité appelée « galerie de solutions de collection de sites ». Vous pouvez accéder à cette fonctionnalité à partir de la page Administration centrale de SharePoint 2010 ou en ouvrant le menu Actions du site, en choisissant Paramètres du site, puis en choisissant le lien Solutions sous Galeries dans le site SharePoint. Les galeries de solutions sont des référentiels de solutions qui permettent aux administrateurs de collection de sites de gérer les solutions dans leurs collections de sites.

La galerie de solutions est une bibliothèque de documents stockée dans le site Web racine du site SharePoint. La galerie de solutions remplace les modèles de site et prend en charge les packages de solution. Lorsqu’un fichier de package de solution SharePoint (.wsp) est chargé, il est traité en tant que solution en bac à sable (sandbox).

Limitations de la solution en bac à sable

Lorsqu’une solution en bac à sable (sandbox) est déployée, le tableau de fonctionnalités SharePoint disponibles est limité pour réduire les vulnérabilités de sécurité qu’elle peut avoir. Voici quelques-unes de ces limitations :

  • Les solutions en bac à sable ont un sous-ensemble restreint d’éléments de solution déployables disponibles. Les modèles de projet SharePoint potentiellement vulnérables, tels que les définitions de site et les flux de travail, ne sont pas disponibles.

  • SharePoint exécute du code de solution en bac à sable (sandbox) dans un processus (SPUCWorkerProcess.exe) distinct du processus principal du pool d’applications IIS (w3wp.exe).

  • Impossible d’ajouter des dossiers mappés au projet.

  • Les types de l’assembly Microsoft SharePoint Server Microsoft.Office.Server ne peuvent pas être utilisés dans les solutions en bac à sable (sandbox). En outre, seuls les types de l’assembly Microsoft SharePoint Foundation Microsoft.SharePoint peuvent être utilisés dans les solutions en bac à sable (sandbox).

    Il est important de noter que la spécification d’une solution SharePoint en tant que solution en bac à sable n’a aucun impact sur le serveur SharePoint ; elle détermine uniquement la façon dont le projet SharePoint est déployé sur SharePoint à partir de Visual Studio et les assemblys auxquels il est lié. Il n’affecte pas le fichier .wsp généré, et le fichier .wsp n’a pas de données qui sont directement corrélées à la propriété Solution en bac à sable ( Sandboxed Solution ).

Fonctionnalités et éléments dans les solutions en bac à sable

Les solutions bac à sable prennent en charge les fonctionnalités et les éléments suivants :

  • Types de contenu/champs

  • Actions personnalisées

  • Flux de travail déclaratifs

  • Récepteurs d’événements

  • Légendes de fonction

  • Définitions de liste

  • Instances de liste

  • Module/fichiers

  • Navigation

  • Onet.xml

  • SPItemEventReceiver

  • SPListEventReceiver

  • SPWebEventReceiver

  • Prise en charge de tous les composants WebPart dérivés de System.Web.UI.WebControls.WebParts.WebPart

  • Web Parts

  • Éléments de fonctionnalité WebTemplate (au lieu de Webtemp.xml)

  • Composants WebPart Visuels

    Les solutions en bac à sable ne prennent pas en charge les fonctionnalités et les éléments suivants :

  • Pages d’application

  • Groupe d’actions personnalisées

  • Fonctionnalités à l'échelle de la ferme de serveurs

  • élément HideCustomAction

  • Fonctionnalités délimitées à l’application web

  • Flux de travail avec du code