Настройка и развертывание веб-частей в SharePoint Server
ОБЛАСТЬ ПРИМЕНЕНИЯ:2013 2016 2019 Subscription Edition SharePoint в Microsoft 365
SharePoint Server включает набор веб-частей, которые пользователи могут добавлять на страницы после установки продукта. Если организации требуются настраиваемые веб-части, разработчик может создать веб-части ASP.NET и попросить вас их установить. Для этого обычно требуется протестировать и утвердить код, прежде чем он будет развернут в среде с полным доверием. Разработчик, использующий Visual Studio, может развернуть веб-часть в SharePoint Server, щелкнув проект правой кнопкой мыши и выбрав Развернуть. Назначение веб-части определяется уровнем доверия, установленным с сервером SharePoint при создании проекта в Visual Studio.
SharePoint Server использует некоторые параметры управления конфигурацией, предоставляемые Microsoft .NET Framework. Благодаря им у администраторов серверов есть множество возможностей для управления веб-приложением и его средой. Дополнительные сведения о файлах конфигурации ASP.NET см. в разделе Machine.Config и Web.Config описано в разделе Защита приложений и веб-служб ASP.NET.
Параметры конфигурации
Веб-части ASP.NET развертываются в каталоге binSharePoint Server или в глобальном кэше сборок (GAC).
Каталог bin Хранится в папке bin корневого каталога веб-приложения.
Преимущества этого расположения
Расположение с частичным доверием. По умолчанию код, выполняющийся из этого каталога, обладает низким уровнем разрешений на управление доступом для кода. Если веб-части требуется доступ к различным приложениям или более широкие права доступа, чем предоставляют разрешения по умолчанию, администратор должен явно задать разрешения, предоставленные веб-части, чтобы она нормально работала. Администраторы могут предпочитать, чтобы сборки выполнялись в каталоге bin с известным минимальным набором разрешений на управление доступом для кода.
Недостатки этого расположения:
Чтобы веб-часть работала везде, сборку необходимо развернуть в каталоге bin на каждом сервере SharePoint Server 2016 с ролями сервера переднего плана и сервера приложений MinRole, а также на каждом сервере SharePoint 2013 с установленной веб-ролью и ролью приложения.
Глобальный кэш сборок (GAC) Все стандартные веб-части автоматически устанавливаются в GAC, где находится общеязыковая среда выполнения .NET Framework, по адресу %windir%\assembly. Веб-части, которые хранятся в GAC, могут совместно использоваться приложениями.
Преимущества этого расположения:
Глобальное расположение, в котором можно развертывать подписанные сборки, по умолчанию выполняемые с полным доверием. Поскольку сборки установлены глобально, они работают в любом веб-приложении.
Недостатки этого расположения
В общем случае к коду, устанавливаемому в GAC, не применяются ограничения управления доступом для кода. Поэтому вы теряете преимущества эшелонированной защиты.
Кроме того, развертывание файлов базы данных (PDB) в сборках в GAC может вызывать затруднения.
Установка атрибутов безопасности
Веб-части ASP.NET, хранящиеся в каталоге bin, используют дополнительные атрибуты безопасности. Вы можете решить, следует ли устанавливать эти атрибуты для веб-части, в зависимости от того, как вы планируете их использовать.
Каталог bin — это расположение с частичным доверием. Следовательно, веб-часть не будет автоматически получать разрешения на полное доверие для кода после запуска. Так как код, вызывающий вашу веб-часть, получает только разрешения частичного доверия, разработчик веб-части должен настроить атрибут AllowPartiallyTrustedCallers в веб-части ASP.NET.
Если отметить компонент как "безопасный" с помощью атрибута AllowPartiallyTrustedCallers, ответственность за безопасную реализацию ложится на группу разработчиков.
По умолчанию каталогу bin и его содержимому предоставляются минимальные разрешения управления доступом для кода. Тщательно проверьте свои веб-части, чтобы определить необходимый уровень разрешений, а также убедиться, что веб-часть не создает рисков для безопасности вашей среды.
Уровень разрешений можно повысить одним из двух способов:
Рекомендуем создать файл политики доверия и указать файл web.config в новом файле. Этот способ более сложный, но позволяет задать конкретизированные разрешения для своих веб-частей. Дополнительные сведения о файлах политики доверия см. в статье Microsoft Windows SharePoint Services и безопасность доступа к коду.
Повысьте общий уровень доверия каталога bin. В файле Web.config в корневом каталоге
trust
веб-приложения найдите элемент . Значение по умолчаниюtrust
для атрибутаlevel
элемента — WSS_Minimal. Этот уровень можно изменить на WSS_Medium. Хотя этот способ проще, он предоставляет множество разрешений, которые вам могут не потребоваться, и менее безопасен, чем создание файла политики доверия.Предостережение
В записях WSS_Minimal и WSS_Medium в файле Web.config учитывается регистр.
Список безопасных элементов управления
Список безопасных элементов управления содержит имена элементов управления и веб-частей, связанных с вашим сайтом SharePoint, которые администраторы сервера обозначили как безопасные для использования на любой ASPX-странице сайта. Этот список — часть файла Web.config в корневом каталоге веб-приложения.
Развертывание и настройка веб-части
Метод, используемый для развертывания новой веб-части, зависят от законченного пакета, предоставляемого разработчиком. Если разработчик предоставил вам веб-часть в виде одного файла динамической библиотеки (DLL), можно вручную развернуть библиотеку DLL, скопировав ее в папку Bin веб-приложения. Если разработчик предоставляет cab-файл, содержащий веб-часть, вы можете развернуть веб-часть с помощью Microsoft PowerShell.
Развертывание и настройка веб-части вручную
Проверьте наличие следующих административных учетных данных.
- Вы должны входить в группу локальных администраторов сервера, на котором размещается SharePoint Server.
Скопируйте сборку <YourWebPartName>.dll в каталоге Bin проекта в каталог Bin в корневом каталоге веб-приложения. Например: C:\inetpub\wwwroot\wss\VirtualDirectories\80.
Найдите файл Web.config в корневом каталоге приложения и откройте его для редактирования.
Добавьте следующую запись безопасного элемента управления для вашей сборки в файл 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 вручную можно использовать PowerShell для установки пакета веб-части. Чтобы этот процесс работал, разработчик или системный администратор должны создать CAB-пакет решения для веб-части. После создания CAB-файла выполните следующие действия, чтобы развернуть веб-часть.
Развертывание веб-части с помощью Microsoft PowerShell
Убедитесь, что выполняются следующие минимальные требования: См. статью Add-SPShellAdmin.
Откройте Командная консоль SharePoint.
В командной строке PowerShell (PS C:\>) введите следующую команду и нажмите клавишу ВВОД:
Install-SPWebPartPack -LiteralPath "<PathToCabFile>" -Name "<WebPartName>"
Где:
<PathToCabFile> это полный путь к развертываемому CAB-файлу.
<WebPartName> это имя развертываемой веб-части.
В предыдущей процедуре показан распространенный способ применения командлета Install-SPWebPartPack для развертывания веб-части. Вы можете указать дополнительные параметры, чтобы изменить способ развертывания веб-части. Дополнительные сведения см. в статье Install-SPWebPartPack.
[!Примечание] Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.
Добавление компонента в коллекцию веб-частей
У каждой веб-части должен быть WEBPART-файл — XML-файл, описывающий веб-часть. Из-за этого файла веб-часть отображается в коллекции веб-частей. Следующая процедура — это самый простой способ создать WEBPART-файл после развертывания и регистрации веб-части в списке безопасных элементов управления.
Добавление компонента в коллекцию веб-частей
Проверьте наличие следующих административных учетных данных.
- Вы должны быть участником группы администраторов фермы.
Чтобы создать WEBPART-файл, перейдите на страницу http://<MyServer>/_layouts/newdwp.aspx, где <MyServer> — это имя сервера, на котором развернут ваш сайт SharePoint.
Установите флажок рядом с полем< YourWebPartNamespace>.<YourWebPartName>.
Щелкните Заполнить коллекцию , чтобы добавить веб-часть YourWebPartName в коллекцию сайта группы.
В коллекции веб-частей нажмите Изменить, чтобы изменить веб-часть, а затем нажмите Импорт.
Вам будет предложено указать местоположение WEBPART-файла. Можно также экспортировать веб-части ASP.NET и импортировать их на сайты SharePoint.
См. также
Понятия
Управление веб-частями в SharePoint Server