Configurer et déployer des composants WebPart (SharePoint Server 2010)
S’applique à : SharePoint Foundation 2010, SharePoint Server 2010
Dernière rubrique modifiée : 2016-11-30
Cet article fournit les informations et procédures nécessaires pour configurer et déployer des composants WebPart sécurisés dans le répertoire Bin ou le GAC (Global Assembly Cache) du .NET Framework sur votre serveur.
Dans cet article :
Microsoft SharePoint Server comprend un ensemble de composants WebPart que les utilisateurs peuvent ajouter aux pages après l’installation du produit. Si une organisation a besoin de composants WebPart personnalisés, un développeur peut écrire des composants WebPart ASP.NET personnalisés et vous inviter à les installer dans un déploiement de SharePoint Server. Ce processus exige généralement le test et l’approbation du code avant que le composant WebPart ne puisse être déployé dans un environnement de confiance totale. Un développeur qui utilise Visual Studio 2010 peut déployer un composant WebPart sur SharePoint Server en cliquant avec le bouton droit sur le projet, puis en sélectionnant Déployer . La destination du composant WebPart est déterminée par le niveau de confiance établi avec le serveur SharePoint lorsque le développeur a créé le projet dans Visual Studio 2010.
Microsoft SharePoint Server 2010 vous permet de configurer un environnement en mode bac à sable (sandbox) dans lequel les administrateurs de collection de sites, les administrateurs de site ou les travailleurs de l’information peuvent déployer et exécuter des composants WebPart et des solutions partiellement approuvés dans un processus de travail en mode bac à sable (sandbox). Les composants WebPart et les solutions qui s’exécutent dans un environnement en mode bac à sable (sandbox) disposent d’autorisations limitées pour accéder au système d’exploitation et au matériel du serveur ; par ailleurs, ils sont isolés des autres composants de l’application Web.
Pour plus d’informations sur l’utilisation de solutions en mode bac à sable (sandbox), voir Administration des solutions en bac à sable (SharePoint Server 2010).
SharePoint Server utilise certains des paramètres de gestion de configuration fournis par le Microsoft .NET Framework. Certains de ces paramètres sont stockés dans des fichiers de configuration XML et fournissent un large éventail de paramètres qui permettent aux administrateurs de serveur de gérer l’application Web et son environnement. Pour plus d’informations sur les fichiers de configuration ASP.NET, voir Description de Machine.Config et de Web.Config (https://go.microsoft.com/fwlink/?linkid=103450&clcid=0x40C) dans « Sécurisation de votre application ASP.NET et de vos services Web » sur MSDN Library Online.
Options de configuration
Les administrateurs système peuvent déployer des composants WebPart ASP.NET dans un déploiement de SharePoint Server à deux emplacements au choix :
Répertoire Bin Stockage dans le dossier bin sous le répertoire racine de votre application Web.
GAC (Global Assembly Cache) Tous les composants WebPart standard sont automatiquement installés dans le GAC, où se trouve le Common Language Runtime du .NET Framework, à l’emplacement %windir%\assembly. Les composants WebPart stockés dans le GAC peuvent être partagés entre les applications.
Le tableau suivant décrit les avantages et inconvénients de chaque emplacement.
Emplacement de déploiement | Avantages | Inconvénients |
---|---|---|
Répertoire Bin |
Emplacement de confiance partielle. Par défaut, le code qui s’exécute à partir de ce répertoire a un faible niveau d’autorisations en matière de sécurité d’accès du code. Si le composant WebPart requiert un accès entre des applications ou un accès plus important par rapport aux autorisations par défaut, l’administrateur doit élever explicitement les autorisations accordées à un composant WebPart, de sorte qu’il puisse fonctionner correctement. Les administrateurs peuvent préférer que les assemblys s’exécutent dans le répertoire Bin, avec un ensemble minimal connu d’autorisations obligatoires en matière de sécurité d’accès du code. Dans la mesure où le répertoire Bin est spécifique à une application Web, vous pouvez utiliser cette méthode afin d’isoler le code pour une seule application Web. |
Pour exécuter votre composant WebPart n’importe où, vous devez déployer votre assembly dans le répertoire Bin de chaque serveur. |
GAC |
Emplacement global où vous pouvez déployer des assemblys signés qui peuvent s’exécuter par défaut avec une confiance totale. Dans la mesure où les assemblys sont installés globalement, ils fonctionnent dans n’importe quelle application Web. |
En règle générale, il n’existe pas de restrictions de sécurité d’accès du code sur le code installé dans le GAC ; par conséquent, vous perdez l’avantage de la sécurité avec protection renforcée. En outre, il peut être difficile de déployer vos fichiers de programme de base de données (.pdb) vers des assemblys dans le GAC. |
Définition des attributs de sécurité
Les composants WebPart ASP. NET stockés dans le répertoire Bin ont des attributs de sécurité supplémentaires. Vous pouvez définir ou non ces attributs pour vos composants WebPart ; cela dépend de la manière dont vous souhaitez les utiliser.
Le répertoire Bin est un emplacement de confiance partielle. Par conséquent, votre composant WebPart ne reçoit pas automatiquement des autorisations de confiance totale pour le code lors de son exécution. Étant donné que le code appelant de votre composant WebPart bénéficie simplement d’autorisations de confiance partielle, le développeur doit définir l’attribut AllowPartiallyTrustedCallers pour votre composant WebPart ASP.NET.
Le fait de déclarer un composant comme étant fiable avec l’attribut AllowPartiallyTrustedCallers engage la responsabilité de l’équipe de développement pour une mise en œuvre sécurisée.
Par défaut, les autorisations de sécurité d’accès du code pour le répertoire Bin sont très faibles. Testez vos composants WebPart avec soin afin de déterminer le niveau approprié des autorisations à attribuer, et de vérifier que les composants WebPart ne présentent pas de risques de sécurité pour votre environnement.
Il existe deux façons d’élever des autorisations :
(Méthode recommandée) Créez un fichier de stratégie d’approbation et faites pointer votre fichier Web.config vers ce nouveau fichier. Cette méthode est plus complexe, mais elle vous permet de définir plus précisément les autorisations de vos composants WebPart. Pour plus d’informations sur les fichiers de stratégie d’approbation, voir la page relative à Microsoft Windows SharePoint Services et la sécurité d’accès du code (éventuellement en anglais) (https://go.microsoft.com/fwlink/?linkid=103436&clcid=0x40C) dans MSDN Library Online.
Élevez le niveau de confiance global du répertoire Bin. Dans le fichier Web.config du répertoire racine de votre application Web, trouvez l’élément
trust
. La valeur par défaut de l’attributlevel
de l’élémenttrust
est WSS_Minimal. Vous pouvez élever ce niveau à WSS_Medium. Cette méthode est plus simple, mais elle accorde arbitrairement de nouvelles autorisations dont vous n’avez peut-être pas besoin ; en outre, elle est moins fiable que l’autre méthode, qui consiste à créer un fichier de stratégie d’approbation.
Liste des contrôles fiables
Un des principes fondamentaux des produits SharePoint veut que les utilisateurs non approuvés puissent télécharger et créer des pages .aspx dans le système sur lequel s’exécute SharePoint Server. Il faut empêcher ces utilisateurs d’ajouter du code côté serveur dans les pages .aspx, mais les laisser utiliser une liste de contrôles approuvés. SharePoint Server fournit cette liste.
La liste des contrôles fiables contient les noms des contrôles et des composants WebPart spécifiques à votre site SharePoint, que les administrateurs de serveur peuvent désigner comme étant suffisamment fiables pour être appelés sur n’importe quelle page .aspx d’un site. Cette liste fait partie du fichier Web.config situé à la racine de votre application Web.
Déployer et configurer un composant WebPart
La méthode que vous utilisez pour déployer un nouveau composant WebPart dépend du package fini fourni par le développeur. Si le développeur vous a fourni le composant WebPart sous forme de fichier de bibliothèque de liens dynamiques (DLL), vous pouvez déployer manuellement la DLL en la copiant vers le dossier Bin de votre application Web. Si le développeur vous a fourni un fichier CAB qui contient le composant WebPart, vous pouvez utiliser Windows PowerShell pour déployer le composant WebPart.
Pour déployer et configurer manuellement un composant WebPart
Vérifiez que vous disposez des informations d’identification administratives suivantes :
- Vous devez être membre du groupe Administrateurs local sur le serveur qui héberge SharePoint Server.
Copiez l’assembly <YourWebPartName>.dll du répertoire Bin du projet dans le répertoire Bin du répertoire racine de votre application Web. Par exemple : C:\inetpub\wwwroot\wss\VirtualDirectories\80\.
Localisez le fichier Web.config dans le répertoire racine de votre application et ouvrez-le afin de le modifier.
Ajoutez l’entrée de contrôle sécurisé suivante dans le fichier Web.config pour votre assembly personnalisé :
<SafeControl Assembly="<YourWebPartName>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="<YourWebPartNamespace>" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>
Où :
<YourWebPartName> représente le nom du composant WebPart déployé.
<YourWebPartNamespace> représente l’espace de noms associé à votre composant WebPart.
Comme alternative à l’installation manuelle d’un composant WebPart dans le dossier Bin ou la modification manuelle du fichier Web.config, vous pouvez utiliser Windows PowerShell pour installer le package de composants WebPart. Pour que ce processus fonctionne, un développeur ou un administrateur système doit créer un package de solution CAB pour le composant WebPart. Pour plus d’informations sur la création d’un package CAB, voir la documentation relative à Solutions et packages de composants WebPart (https://go.microsoft.com/fwlink/?linkid=95855&clcid=0x40C) dans MSDN Library Online. Une fois que vous avez créé un fichier CAB, procédez comme suit pour déployer le composant WebPart.
Pour déployer le composant WebPart à l’aide de Windows PowerShell
Vérifiez que vous disposez de la configuration minimale requise suivante : Voir Add-SPShellAdmin.
Dans le menu Démarrer, cliquez sur Tous les programmes.
Cliquez sur Produits Microsoft SharePoint 2010.
Cliquez sur SharePoint 2010 Management Shell.
Depuis l’invite de commandes Windows PowerShell (PS C:\>), tapez la commande suivante, puis appuyez sur Entrée :
Install-SPWebPartPack -LiteralPath "<PathToCabFile>" -Name "<WebPartName>"
Où :
<PathToCabFile> représente le chemin d’accès complet du fichier CAB en cours de déploiement.
<WebPartName> représente le nom du composant WebPart déployé.
Notes
La procédure précédente montre une façon usuelle d’utiliser Install-SPWebPartPack pour déployer un composant WebPart. Vous pouvez spécifier des paramètres supplémentaires afin de modifier la façon dont le composant WebPart est déployé. Pour plus d’informations, voir Install-SPWebPartPack.
Notes
Nous vous recommandons d’utiliser Windows PowerShell pour les tâches d’administration en ligne de commande. L’outil en ligne de commande Stsadm a été abandonné, mais il est inclus pour assurer la compatibilité avec les versions précédentes.
Ajouter un composant à la galerie de composants WebPart
Tous les composants WebPart ont en principe un fichier .webpart, qui est un fichier XML destiné à les décrire. C’est également grâce à ce fichier .webpart que votre composant WebPart figure dans la galerie des composants WebPart. La procédure suivante représente le meilleur moyen de créer un fichier .webpart après avoir déployé le composant WebPart, et de l’inscrire dans la liste des contrôles fiables.
Pour ajouter un composant à la galerie de composants WebPart
Vérifiez que vous disposez des informations d’identification administratives suivantes :
- Vous devez être membre du groupe Administrateurs de batterie de serveurs.
Pour créer un fichier .webpart, accédez à http://<MonServeur>/_layouts/newdwp.aspx, où <MonServeur> est le nom du serveur sur lequel votre site SharePoint est déployé.
Activez la case à cocher à côté de <YourWebPartNamespace>.<YourWebPartName>.
Cliquez sur Compléter la galerie pour ajouter le composant WebPart YourWebPartName à la galerie Site d’équipe.
Dans la galerie de composants WebPart, sélectionnez Modifier pour modifier le composant WebPart, puis cliquez sur Importer.
Vous êtes invité à spécifier un emplacement pour le fichier .webpart. Vous pouvez également exporter les composants WebPart ASP.NET et les importer dans des sites SharePoint.