Udostępnij przez


Zagadnienia dotyczące rozwiązania w trybie piaskownicy

Rozwiązania w trybie piaskownicy to funkcja w programie Microsoft SharePoint 2010, która umożliwia użytkownikom kolekcji witryn przesyłanie własnych niestandardowych rozwiązań kodu. Typowym rozwiązaniem w trybie piaskownicy jest przekazywanie własnych składników Web Part przez użytkowników.

Aplikacja SharePoint typu piaskownica jest uruchamiana w bezpiecznym, monitorowanym procesie, który ma dostęp do ograniczonej części farmy webowej. Program Microsoft SharePoint 2010 używa kombinacji funkcji, galerii rozwiązań, monitorowania rozwiązań i struktury weryfikacji w celu włączenia rozwiązań w trybie piaskownicy.

Określanie poziomu zaufania projektu

Program Visual Studio obsługuje rozwiązania ograniczone za pośrednictwem właściwości logicznej projektu o nazwie Sandboxed Solution. Tę właściwość można ustawić w dowolnym momencie w projekcie lub można ją określić podczas tworzenia projektu w Kreatorze dostosowywania programu SharePoint.

Uwaga / Notatka

Zmiana właściwości Piaskownicowego rozwiązania projektu po jego stworzeniu może wywołać błędy walidacji.

Rozwiązanie jest uznawane za rozwiązanie o zakresie farmy, jeśli właściwość Rozwiązanie w trybie piaskownicy jest ustawiona na false lub gdy wybierzesz opcję Wdróż jako rozwiązanie farmy. Jednak rozwiązanie jest traktowane inaczej niż rozwiązanie farmy, jeśli właściwość Rozwiązanie w trybie piaskownicy ma ustawioną wartość true lub jeśli wybierzesz opcję Wdróż jako rozwiązanie w trybie piaskownicy w kreatorze.

Hierarchia lokacji programu SharePoint

Aby zrozumieć, jak działają rozwiązania typu sandbox, warto wiedzieć, że witryny programu SharePoint są hierarchiczne w kontekście. Górny element jest znany jako farma sieci Web, a inne elementy są do niego podrzędne:

Farma sieci Web

Aplikacja internetowa A

Zbiór witryn A1

Witryna A1a

Aplikacja internetowa B

Kolekcja witryn B1

Witryna B1a

Witryna B1b

Zbiór witryn B2

Witryna B2a

Jak widać, farmy sieci Web mogą zawierać co najmniej jedną aplikację sieci Web, która z kolei może zawierać co najmniej jeden zbiór witryn, które mogą mieć podwitryny itd. Zmiany wprowadzone w jednym zbiorze witryn mają wpływ tylko na ten zbiór witryn, a nie inne. Jednak zmiany wprowadzone na poziomie farmy sieci Web mają wpływ na wszystkie zbiory witryn w farmie.

Windows SharePoint Services (WSS) 3.0 umożliwia wdrażanie rozwiązań tylko na poziomie farmy, natomiast Microsoft SharePoint Foundation pozwala na wdrożenie zarówno na poziomie farmy (rozwiązanie farmy), jak i na poziomie kolekcji witryn (rozwiązanie w trybie piaskownicy).

Dlaczego rozwiązania sandboxowe?

W programie WSS 3.0 rozwiązania można wdrożyć tylko na poziomie farmy. Oznaczało to, że potencjalnie szkodliwe lub destabilizujące rozwiązania można wdrożyć, które miały wpływ na całą farmę sieci Web i wszystkie inne zbiory witryn i aplikacje, które są w nim uruchomione. Jednak przy użyciu izolowanych rozwiązań można wdrażać swoje rozwiązania do części farmy, czyli określonego zbioru witryn. Aby zapewnić dodatkową ochronę, zestaw rozwiązania nie jest ładowany do głównego procesu usług IIS (w3wp.exe). Zamiast tego jest ładowany do oddzielnego procesu (SPUCWorkerProcess.exe). Ten proces jest monitorowany i implementuje limity i dławienie w celu ochrony farmy przed rozwiązaniami w trybie piaskownicy, które wykonują szkodliwe działania, takie jak uruchamianie intensywnych pętli zużywających cykle procesora.

Program Windows SharePoint Services 2010 ma funkcję znaną jako "galeria rozwiązań zbioru witryn". Dostęp do tej funkcji można uzyskać na stronie Administracja centralna programu SharePoint 2010 lub otwierając menu Akcje witryny , wybierając pozycję Ustawienia witryny, a następnie wybierając link Rozwiązania w obszarze Galerie w witrynie programu SharePoint. Galerie rozwiązań to repozytoria rozwiązań, które umożliwiają administratorom zbioru witryn zarządzanie rozwiązaniami w ich zbiorach witryn.

Galeria rozwiązań to biblioteka dokumentów przechowywana w głównej sieci Web witryny programu SharePoint. Galeria rozwiązań zastępuje szablony witryn i obsługuje pakiety rozwiązań. Po przekazaniu pliku pakietu rozwiązania programu SharePoint (.wsp) jest on przetwarzany jako rozwiązanie w środowisku izolowanym.

Ograniczenia rozwiązania w trybie piaskownicy

Po wdrożeniu rozwiązania piaskownicy zakres funkcjonalności SharePoint jest ograniczony w celu zmniejszenia luk w zabezpieczeniach, jakie może posiadać. Niektóre z tych ograniczeń obejmują następujące kwestie:

  • Rozwiązania w środowisku piaskownicy mają ograniczony podzestaw elementów rozwiązania dostępnych do wdrożenia. Potencjalnie podatne na zagrożenia szablony projektów programu SharePoint, takie jak definicje witryny i przepływy pracy, nie są dostępne.

  • SharePoint uruchamia kod rozwiązania w piaskownicy w procesie (SPUCWorkerProcess.exe) oddzielnie od głównego procesu puli aplikacji IIS (w3wp.exe).

  • Nie można dodać zamapowanych folderów do projektu.

  • Typy w zestawie serwera Microsoft SharePoint Microsoft.Office.Server nie mogą być używane w rozwiązaniach typu piaskownica. Ponadto w rozwiązaniach w trybie piaskownicy można używać tylko typów z zestawu Microsoft.SharePoint w Microsoft SharePoint Foundation.

    Należy pamiętać, że określenie rozwiązania jako sandbox nie wpływa na serwer SharePoint; jedynie determinuje sposób, w jaki projekt SharePoint jest wdrażany z Visual Studio oraz z jakimi zestawami się wiąże. Nie ma to wpływu na wygenerowany plik wsp , a plik wsp nie zawiera danych, które bezpośrednio skorelują się z właściwością Rozwiązanie w trybie piaskownicy .

Możliwości i elementy w rozwiązaniach w środowisku piaskownicy

Rozwiązania w trybie piaskownicy obsługują następujące możliwości i elementy:

  • Typy zawartości/pola

  • Akcje niestandardowe

  • Deklaratywne przepływy pracy

  • Odbiorniki zdarzeń

  • Objaśnienia funkcji

  • Definicje listy

  • Lista wystąpień

  • Moduł/pliki

  • Navigation

  • Onet.xml

  • SPItemEventReceiver

  • SPListEventReceiver

  • SPWebEventReceiver

  • Obsługa wszystkich elementów Web Part pochodzących z System.Web.UI.WebControls.WebParts.WebPart

  • składniki Web Part

  • Elementy funkcji WebTemplate (zamiast Webtemp.xml)

  • Wizualne składniki Web Part

    Rozwiązania w trybie piaskownicy nie obsługują następujących możliwości i elementów:

  • Strony aplikacji

  • Grupa Dostosowanych Akcji

  • Funkcje o zakresie farmy

  • HideCustomAction pierwiastek

  • Funkcje w zakresie aplikacji internetowej

  • Przepływy pracy z kodem