Настройка и развертывание веб-частей (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.
Порядок развертывания и настройки веб-части вручную
Проверьте наличие следующих административных учетных данных.
- Вы должны быть членом локальной группы "Администраторы" на сервере, где размещается SharePoint Server.
Скопируйте сборку <имя_веб-части>.dll из каталога bin проекта в каталог bin в корневом каталоге веб-приложения. Например, C:\inetpub\wwwroot\wss\VirtualDirectories\80\.
Найдите в корневом каталоге приложения файл Web.config и откройте его для редактирования.
Добавьте следующую запись safe-control для пользовательской сборки в файл Web.config:
<SafeControl Assembly="<YourWebPartName>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="<YourWebPartNamespace>" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>
Где:
<YourWebPartName> — это имя развертываемой веб-части.
<YourWebPartNamespace> — это пространство имен, сопоставленное с веб-частью.
Кроме ручной установки веб-части в каталог bin или ручного изменения файла Web.config, для установки пакета веб-части можно использовать Windows PowerShell. Чтобы это было возможно, разработчик или системный администратор должен создать для веб-части пакет решения CAB. Дополнительные сведения о создании пакета CAB см. в статье, посвященной пакетам решений и веб-частям (https://go.microsoft.com/fwlink/?linkid=95855&clcid=0x419) в библиотеке MSDN в Интернете. Чтобы развернуть веб-часть, после создания CAB-файла выполните перечисленные ниже действия.
Порядок развертывания веб-части с использованием Windows PowerShell
Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.
В меню Пуск выберите пункт Все программы.
Выберите пункт Продукты Microsoft SharePoint 2010.
Щелкните компонент Командная консоль SharePoint 2010.
В командной строке Windows PowerShell (PS C:\>) введите следующую команду и нажмите клавишу ВВОД:
Install-SPWebPartPack -LiteralPath "<PathToCabFile>" -Name "<WebPartName>"
Где:
<PathToCabFile> — это полный путь к развертываемому CAB-файлу.
<WebPartName> — это имя развертываемой веб-части.
Примечание
В предыдущей процедуре показан обычный способ использования Install-SPWebPartPack для развертывания веб-части. Чтобы изменить способ развертывания веб-части, можно задать дополнительные параметры. Дополнительные сведения см. в описании Install-SPWebPartPack.
Примечание
Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.
Добавление компонента в коллекцию веб-частей
Каждая веб-часть должна иметь файл с расширением WEBPART, который представляет собой XML-файл и описывает веб-часть. Также благодаря WEBPART-файлу веб-часть появляется в коллекции веб-частей. Приведенная далее процедура описывает простейший путь для создания WEBPART-файла после развертывания веб-части и ее регистрации в списке управления безопасностью.
Порядок добавления компонента в коллекцию веб-частей
Проверьте наличие следующих административных учетных данных.
- Необходимо быть членом группы "Администраторы фермы".
Для создания WEBPART-файла перейдите к файлу http://<мой_сервер>/_layouts/newdwp.aspx, где <мой_сервер> — имя сервера, на котором развернут используемый сайт SharePoint.
Установите флажок рядом с элементом <пространство_имен_веб-части>.<имя_веб-части>.
Щелкните Заполнить галерею, чтобы добавить веб-часть имя_веб-части в коллекцию сайта рабочей группы.
В коллекции веб-частей выберите Изменить для изменения веб-части, а затем щелкните Импорт.
Отображается запрос на указание расположения для WEBPART-файла. Можно также экспортировать веб-части ASP.NET и импортировать их на сайты SharePoint.