Развертывание веб-частей в SharePoint Foundation

Дата последнего изменения: 9 марта 2015 г.

Применимо к: SharePoint Foundation 2010

В этой статье
Рекомендации по развертыванию
Вопросы безопасности
Строгое именование сборки веб-части
Создание элемента списка безопасных элементов управления
Создание файла с расширением WEBPART

Перед добавлением веб-части на веб-страницу в Microsoft SharePoint Foundation необходимо выполнить развертывание этой веб-части в коллекции веб-частей. В этом разделе описываются различия между папкой bin и глобальным кэшем сборок, рекомендации по использованию разрешений безопасности, порядок строгого именования сборок при развертывании, порядок создания элемента списка безопасных элементов управления, а также порядок создания файла определения веб-части для развертывания.

Рекомендации по развертыванию

На сайте SharePoint существует несколько мест для развертывания сборки веб-части.

  • Коллекция решений — рекомендуемое место для развертывания веб-части с использованием для песочницы. По умолчанию обеспечивает возможности мониторинга и безопасности для веб-частей. Дополнительные сведения о для песочницы см . в статье Изолированные решения.

  • Каталог bin — хранится в корневом каталоге веб-приложения. Расположение этой папки определяется при создании веб-сайта в службах IIS. В SharePoint Foundation это осуществляется с помощью сайта центра администрирования или вручную, посредством создания нового веб-сайта в диспетчере IIS.

    Важное примечаниеВажно!

    Если каталог bin не существует, его необходимо добавить вручную. Не храните веб-части в локальном каталоге _app_bin, который зарезервирован для использования Microsoft.

    Дополнительные сведения см. в разделе Поиск корня веб-приложения.

  • Глобальный кэш сборок. Глобальный каталог, в котором можно развертывать подписанные сборки. Сохранение в глобальном кэше сборок позволяет обеспечить нескольким приложениям общий доступ к сборкам. В среде выполнения .NET глобальный кэш сборок устанавливается автоматически. Компоненты обычно хранятся в папке C:\WINNT\Assembly.

Преимущества и недостатки каждого из мест в развертывании описываются в следующей таблице.

Место развертывания

Преимущества

Недостатки

Коллекция решений

Код, развернуты в коллекции решений, по умолчанию выполняется с частичным доверием. Кроме того, для кода в коллекции решений реализуется мониторинг использования ресурсов, что позволяет обеспечить исправность фермы. Коллекция решений определяется для конкретного семейства сайтов.

Все объектные модели в SharePoint Foundation недоступны в коллекции решений.

Каталог bin

По умолчанию сборки выполняются с частичным доверием. Код, запущенный из этого каталога, имеет низкий уровень разрешений на доступ к коду (CAS). Поскольку администратору требуется в явной форме повысить уровень разрешений веб-части для обеспечения ее нормальной работы, такие сборки часто рекомендуется запускать в каталоге bin с известным набором требуемых разрешений на доступ к коду.

Каталог bin относится к конкретному веб-приложению. Это позволяет изолировать код для определенного веб-приложения.

Чтобы использовать веб-часть в нескольких веб-приложениях, ее следует развернуть в глобальном кэше сборок.

Глобальный кэш сборок

По умолчанию сборки запускаются с полным доверием. В глобальном кэше сборок может содержаться несколько версий одной сборки.

Обычно для кода, установленного в глобальном кэше сборок, отсутствуют ограничения на доступ к коду.

Кроме того, сборки, развернутые в глобальном кэше сборок, кэшируются. В связи с этим при перестроении не выполняется автоматическое обновление сборки на сайте SharePoint. В таком случае следует принудительно загрузить обновленную сборку, выполнив сброс служб IIS в SharePoint Foundation.

Вопросы безопасности

По умолчанию установлен очень низкий уровень разрешений системы безопасности на доступ к коду для каталога bin: разрешено только чистое выполнение. В большинстве случаях для правильного выполнения сборки, например для доступа веб-части к объектной модели SharePoint, необходимо повысить уровень разрешений.

Существует два способа повышения уровня разрешений.

  • Рекомендуемый способ. Создание нового файла политики доверия и включение ссылки на него в файл web.config. Этот способ является более сложным, однако обеспечивает более точное управление атрибутами разрешений веб-частей.

    Дополнительные сведения о файлах политики доверия см. в разделе Защита веб-частей в службах SharePoint Foundation.

  • Дополнительный способ — повышение уровня сетевого доверия для каталога bin. В файле web.config, расположенном в корневом каталоге веб-приложения, содержится элемент <trust> с установленным по умолчанию атрибутом level="WSS_Minimal". Это значение можно изменить на WSS_Medium. Этот способ является более простым, однако при его использовании произвольно предоставляются новые разрешения, которые, возможно, не требуются, и к тому же снижается уровень безопасности по сравнению с созданием файла политики безопасности.

Строгое именование сборки веб-части

При строгом именовании для цифрового подписывания сборки используется закрытый ключ. В этом случае сборка также помечается с помощью открытого ключа, обеспечивающего проверку подписи. Такой способ обеспечивает защиту от использования несанкционированных версий веб-части. Если SharePoint Foundation не удается проверить цифровую подпись с помощью открытого ключа, модуль не запускается.

При развертывании веб-части в каталоге bin рекомендуется выполнять строгое именование сборки. При развертывании веб-части в глобальном кэше сборок строгое именование сборки выполняется обязательно. Использование сборок с нестрогими именами в SharePoint Foundation не рекомендуется.

Чтобы подписать сборку, используйте средство sn.exe, входящее в состав пакета средств разработки Microsoft .NET Framework. Дополнительные сведения о пакете SDK для .NET Framework см. на странице Комплекты SDK, распространяемые пакеты и пакеты обновления. Средство sn.exe также используется для извлечения открытого ключа, необходимого для регистрации элемента в списке безопасных элементов управления. Дополнительные сведения об использовании средства sn.exe см. на странице Средство строгих имен (Sn.exe).

Создание элемента списка безопасных элементов управления

Одним из базовых принципов технологии SharePoint Foundation является возможность загрузки и создания пользователями, не являющимися доверенными, ASPX-страниц в системах, где выполняется SharePoint Foundation. Чтобы запретить таким пользователям произвольное добавление кода ASPX-страниц на стороне сервера, в SharePoint Foundation используется список безопасных элементов управления.

Список безопасных элементов управления содержит элементы и веб-части для конкретного сайта SharePoint, которые определены как безопасные для вызова на любых ASPX-страницах сайта. Этот список хранится в файле web.config в корневом каталоге веб-приложения.

Элемент списка безопасных элементов управления представляет собой XML-объявление веб-части следующего вида.

<SafeControl Assembly="AssemblyNameWithoutDLLExtension, Version=AssemblyVersionNumber, Culture=neutral, PublicKeyToken=PublicKeyToken" Namespace="NamespaceOfYourProject" TypeName="*" Safe="True" />

Элементом списка безопасных элементов управления используются сведения об имени сборки, пространстве имен и управлении версиями. Если этот элемент подписан, для проверки его безопасности также требуется токен закрытого ключа. Если сборка веб-части подписана, для получения необходимого токена закрытого ключа можно использовать средство строгих имен. Ниже приведена команда для получения токена закрытого ключа сборки.

sn -T AssemblyName.dll

Создание файла с расширением WEBPART

Файл определения веб-части представляет собой простой XML-файл, содержащий параметры свойств отдельной веб-части. Чтобы импортировать веб-часть на страницу, следует загрузить на нее файл .webpart или добавить веб-часть в коллекцию веб-частей. Чтобы отобразить веб-часть после загрузки, добавьте ее на страницу сайта. Чтобы отобразить установленные по умолчанию имя и описание веб-части после ее импорта, следует включить свойства Title и Description в файле определения веб-части. Чтобы установить значения других свойств веб-части во время импорта, их также следует определить в файле .webpart. Файл .webpart имеет следующий вид.

<?xml version="1.0" encoding="utf-8" ?> 
  <webParts>
     <webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
       <metaData>
         <type name="TypeName, Version=VersionNumber, Culture=neutral, 
         PublicKeyToken=PublicKeyToken" /> 
         <importErrorMessage>Cannot import this Web 
         Part.</importErrorMessage> 
       </metaData>
       <data>
         <properties>
           <property name="Title" type="string">
              WebPartTitle</property>
           <property name="Description" type="string">
              WebPartDescription
           </property>
         </properties>
       </data>
     </webPart>
   </webParts>

SharePoint Foundation также поддерживает DWP-файлы веб-частей. При экспорте веб-части может отображаться файл с расширением dwp или webpart. Дополнительные сведения см. в статье Обновление веб-частей.

См. также

Задачи

Пример: создание простой веб-части

Концепции

Защита веб-частей в службах SharePoint Foundation

Обновление веб-частей