Поделиться через


Настройка и развертывание веб-частей (SharePoint Server 2010)

 

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

Последнее изменение раздела: 2016-11-30

В данной статье приведены сведения и описаны процедуры, необходимые для настройки и развертывания защищенных веб-частей в каталоге bin или в глобальном кэше сборок .NET Framework на сервере.

Содержание:

Microsoft SharePoint Server содержит набор веб-частей, которые пользователь может добавлять на страницы после установки продукта. Если организации требуются настраиваемые веб-части, разработчик создает настраиваемые веб-части ASP.NET и просит вас установить их для выполнения развертывания SharePoint Server. В рамках данного процесса для развертывания веб-части в среде с полным доверием обычно требуется выполнить тестирование и утверждение кода. Разработчик, использующий Visual Studio 2010, может развернуть веб-часть на SharePoint Server, щелкнув правой кнопкой мыши проект и выбрав пункт Развернуть. Назначение для веб-части определяется уровнем доверия, заданным для сервера SharePoint при создании проекта в Visual Studio 2010.

Microsoft SharePoint Server 2010 позволяет настроить изолированную среду, в которой администраторы семейств веб-сайтов, администраторы веб-сайтов или ИТ-специалисты могут развертывать и запускать веб-части и решения с частичным доверием в изолированном рабочем процессе. Веб-части и решения, запускаемые в изолированной среде, имеют ограниченные разрешения на доступ к операционной системе и оборудованию сервера и изолируются от других частей веб-приложения.

Дополнительные сведения об использовании изолированных решений см. в разделе Администрирование изолированных решений (SharePoint Server 2010).

В SharePoint Server используются некоторые параметры управления конфигурацией Microsoft .NET Framework. Некоторые из них хранятся в XML-файлах конфигурации и предоставляют широкий диапазон параметров, позволяющих администраторам серверов управлять веб-приложением и его средой. Дополнительные сведения о файлах конфигурации ASP.NET см. в разделе "Обеспечение безопасности приложений и веб-служб ASP.NET" статьи, содержащей сведения о файлах Machine.Config и Web.Config (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=103450&clcid=0x419) (Возможно, на английском языке), которая доступна в библиотеке MSDN.

Параметры конфигурации

Системные администраторы могут развертывать веб-части ASP.NET в развертывании SharePoint Server в одном из двух местоположений:

  • Каталог bin.   Хранится в каталоге bin, расположенном в корневом каталоге веб-приложения.

  • Глобальный кэш сборок.   Все стандартные веб-части автоматически устанавливаются в глобальный кэш сборок, где находится среда CLR платформы .NET Framework, в каталог %windir%\assembly. Сохраненные в глобальном кэше сборок веб-части могут совместно использоваться в разных приложениях.

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

Место развертывания Достоинства Недостатки

Каталог bin

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

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

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

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

Глобальное местоположение, где можно развернуть подписанные сборки, которые по умолчанию запускаются с полным доверием. Поскольку сборки устанавливаются глобально, они работают в любом веб-приложении.

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

Кроме того, могут возникнуть проблемы с развертыванием файлов базы данных программы (PDB) для сборок в глобальном кэше сборок.

Настройка атрибутов безопасности

Веб-части ASP.NET, хранящиеся в каталоге bin, имеют дополнительные атрибуты безопасности. При желании можно настроить эти атрибуты для веб-части в зависимости от ее планируемого использования.

Каталог bin — это местоположение с частичным доверием. Следовательно, при выполнении веб-части автоматическое назначение ей разрешений полного доверия для кода не выполняется. Поскольку код, обращающийся к веб-части, получает только разрешения частичного доверия, разработчик должен задать для веб-части ASP.NET атрибут AllowPartiallyTrustedCallers.

Если компонент с помощью атрибута AllowPartiallyTrustedCallers помечен как безопасный, ответственность за безопасность внедрения ложится на группу разработчиков.

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

Повысить уровень разрешений можно одним из двух способов:

  • Создайте файл политики доверия и укажите этот новый файл в файле Web.config. Этот вариант сложнее, но он позволяет более точно настроить разрешения для веб-частей. Подробнее о файлах политики доверия см. в статье, посвященной Microsoft Windows SharePoint Services и обеспечению безопасности при доступе к коду (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=103436&clcid=0x419) (Возможно, на английском языке) в библиотеке MSDN в Сети (рекомендуемый способ).

  • Поднимите общий уровень доверия каталога bin. Найдите в файле Web.config, расположенном в корневом каталоге веб-приложения, элемент trust. Значение атрибута level элемента trust по умолчанию равно WSS_Minimal. Этот уровень можно заменить на WSS_Medium. Этот вариант проще, но он произвольно предоставляет новые разрешения, которые, возможно, не требуются, и к тому же не так безопасен, как создание файла политики безопасности.

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

Фундаментальная предпосылка продуктов SharePoint состоит в том, что пользователи, не являющиеся доверенными, могут загружать и создавать страницы ASPX в системе, где работает SharePoint Server. Этим пользователям необходимо запретить добавлять серверный код на страницы ASPX, но необходимо создать список утвержденных элементов управления, которые они могут использовать. В SharePoint Server они содержатся в списке безопасных элементов управления.

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

Развертывание и настройка веб-части

Метод, используемый для развертывания новой веб-части, зависит от предоставленного разработчиком итогового пакета. Если разработчик предоставил веб-часть в виде отдельного DLL-файла, этот DLL-файл можно развернуть вручную, скопировав его в каталог bin веб-приложения. Если разработчик предоставил CAB-файл с веб-частью, для ее развертывания можно использовать Windows PowerShell.

Порядок развертывания и настройки веб-части вручную

  1. Проверьте наличие следующих административных учетных данных.

    • Вы должны быть членом локальной группы "Администраторы" на сервере, где размещается SharePoint Server.
  2. Скопируйте сборку <имя_веб-части>.dll из каталога bin проекта в каталог bin в корневом каталоге веб-приложения. Например, C:\inetpub\wwwroot\wss\VirtualDirectories\80\.

  3. Найдите в корневом каталоге приложения файл Web.config и откройте его для редактирования.

  4. Добавьте следующую запись safe-control для пользовательской сборки в файл Web.config:

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

    Где:

    1. <YourWebPartName> — это имя развертываемой веб-части.

    2. <YourWebPartNamespace> — это пространство имен, сопоставленное с веб-частью.

Кроме ручной установки веб-части в каталог bin или ручного изменения файла Web.config, для установки пакета веб-части можно использовать Windows PowerShell. Чтобы это было возможно, разработчик или системный администратор должен создать для веб-части пакет решения CAB. Дополнительные сведения о создании пакета CAB см. в статье, посвященной пакетам решений и веб-частям (https://go.microsoft.com/fwlink/?linkid=95855&clcid=0x419) в библиотеке MSDN в Интернете. Чтобы развернуть веб-часть, после создания CAB-файла выполните перечисленные ниже действия.

Порядок развертывания веб-части с использованием Windows PowerShell

  1. Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell (PS C:\>) введите следующую команду и нажмите клавишу ВВОД:

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

    Где:

    • <PathToCabFile> — это полный путь к развертываемому CAB-файлу.

    • <WebPartName> — это имя развертываемой веб-части.

Примечание

В предыдущей процедуре показан обычный способ использования Install-SPWebPartPack для развертывания веб-части. Чтобы изменить способ развертывания веб-части, можно задать дополнительные параметры. Дополнительные сведения см. в описании Install-SPWebPartPack.

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

Добавление компонента в коллекцию веб-частей

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

Порядок добавления компонента в коллекцию веб-частей

  1. Проверьте наличие следующих административных учетных данных.

    • Необходимо быть членом группы "Администраторы фермы".
  2. Для создания WEBPART-файла перейдите к файлу http://<мой_сервер>/_layouts/newdwp.aspx, где <мой_сервер> — имя сервера, на котором развернут используемый сайт SharePoint.

  3. Установите флажок рядом с элементом <пространство_имен_веб-части>.<имя_веб-части>.

  4. Щелкните Заполнить галерею, чтобы добавить веб-часть имя_веб-части в коллекцию сайта рабочей группы.

  5. В коллекции веб-частей выберите Изменить для изменения веб-части, а затем щелкните Импорт.

    Отображается запрос на указание расположения для WEBPART-файла. Можно также экспортировать веб-части ASP.NET и импортировать их на сайты SharePoint.