Блог Сергея Байдачного

Мой блог о технологиях

SharePoint 2010: Что нового? (часть 4) – Песочница

2 комментария

В одной из статей MSDN (http://msdn.microsoft.com/en-us/library/aa302436.aspx) описывается способ изолировать приложения с помощью установки различных уровней безопасности доступа кода (Code Access Security). Одна из областей применения CAS – хостинг веб приложений. Ведь с помощью атрибутов в конфигурационном файле или программно, хостер может разместить Веб-приложение, назначив ему определенные права доступа к различным ресурсам. При этом все приложения могут успешно работать под одним пользователем (ASPNET), а иметь абсолютно разный уровень доступа к ресурсам.

На практике мне не удавалось видеть много веб-приложений, использующих CAS. Большинство хостеров ограничивается отдельным пулом приложений для каждого веб-приложения (а некоторые не делают и этого). Но SharePoint 2010 использует именно CAS для реализации такого понятия как «песочница». Рассмотрим этот вопрос подробно.

Если Вы сталкивались с SharePoint 2007, то могли заметить, что развернуть решение под SharePoint мог только администратор сервера. Иными словами, если бы Вы задумали реализовать хостинг на базе SharePoint 2007, то Вам пришлось бы ограничить своих клиентов предопределенным набором фич, то есть предоставлять готовое веб-приложение, обладающее всей необходимой функциональностью. Как альтернативу, Вам пришлось бы принимать регулярные запросы от клиентов, с просьбой развернуть ту или иную фичу. При этом, механизмов проверки фичи на «профпригодность» не было, а развертывание некоторых сборок в GAC могло навредить всей системе. Именно поэтому, SharePoint 2010 позволяет разворачивать собственные решения не только под правами администратора сервера, но и под правами обычного владельца коллекции сайтов. При этом решения обладают всеми (практически) атрибутами, включая определение списков, веб-части, доступ к API и т. д.

Чтобы реализовать механизм развертывания решений под правами владельца коллекции, в SharePoint 2010 был реализован механизм песочница. Данный механизм позволяет развернуть решение, которое будет выполняться в изолированной рабочем процессе, с ограниченными правами, как раз и определяющимися с помощью Безопасности доступа кода (CAS). Эти права позволяют использовать API на уровне сайта (коллекции), но не веб-сервера или фермы серверов, запрещают развертывание в GAC и исключают влияние развернутых фич в песочнице на работу всего сервера.

Если Вы заинтересовались, какие права устанавливаются коду в песочнице, то можете обратиться к файлу wss_usercode.config, который находится в каталоге C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG (или похожем).

С точки зрения пользователя, функционал песочницы реализован с помощью Галереи Решений, которая доступна через настройки сайта:

clip_image002

Данная галерея позволяет владельцу сайта выбрать решение (wsp-файл) и загрузить в коллекцию подобных решений. Во время загрузки решение будет проверено «на соответствие» и у владельца появится возможность активировать решение на сайте (коллекции), что приведет к автоматической активации всех фич уровня коллекции.

Подобный подход позволяет хостеру не думать о функциональности, а продавать лишь доступ к SharePoint, создавая веб-приложения по определенному шаблону. Все расширения будет проводить сам владелец коллекции. Естественно, что такой подход удобен для работы с «продвинутыми» клиентами.

Реклама

Written by Sergiy Baydachnyy

28.01.2010 в 18:51

Опубликовано в SharePoint

Tagged with

комментария 2

Subscribe to comments with RSS.

  1. […] Читать в моем блоге о технологиях Опубліковані Thursday, January 28, 2010 6:52 PM від Sergiy Baydachnyy […]

  2. У вас очень хороший блог о Sharepoint 2010, многие вещи узнал впервые. Но только картинки уменьшены. Хотелось бы видеть их в нормальном размере.


Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: