Aspekty řešení v izolovaném prostoru (sandbox)
Řešení v izolovaném prostoru (sandbox) jsou funkcí Microsoft SharePointu 2010, která uživatelům kolekce webů umožňuje nahrát vlastní řešení kódu. Běžným řešením v izolovaném prostoru (sandbox) je, že uživatelé nahrávají vlastní Webové části.
Aplikace SharePoint v izolovaném prostoru (sandbox) běží v zabezpečeném monitorovaném procesu, který má přístup k omezené části webové farmy. Microsoft SharePoint 2010 používá kombinaci funkcí, galerií řešení, monitorování řešení a ověřovacího rozhraní pro povolení řešení v izolovaném prostoru (sandbox).
Určení úrovně důvěryhodnosti projektu
Visual Studio podporuje řešení v izolovaném prostoru (sandbox) prostřednictvím logické vlastnosti projektu označované jako řešení v izolovaném prostoru (sandbox). Tuto vlastnost lze nastavit kdykoli v projektu nebo ji lze zadat při vytváření projektu v Průvodci přizpůsobením služby SharePoint.
Poznámka:
Změna vlastnosti řešení v izolovaném prostoru (sandbox) po vytvoření projektu může způsobit chyby ověření.
Řešení se považuje za řešení v oboru farmy, pokud je vlastnost řešení v izolovaném prostoru nastavená na false nebo zvolíte možnost Nasadit jako řešení farmy. Řešení se ale pracuje jinak než s řešením farmy, pokud je vlastnost řešení v izolovaném prostoru nastavená na hodnotu true nebo v průvodci zvolíte možnost Nasadit jako řešení v izolovaném prostoru (sandbox).
Hierarchie sharepointového webu
Abyste pochopili, jak řešení v izolovaném prostoru fungují, pomůže vám zjistit, že sharepointové weby jsou hierarchické v oboru. Horní prvek se označuje jako webová farma a další prvky jsou podřízené ho:
Webová farma
Webová aplikace A
Kolekce webů A1
Web A1a
Webová aplikace B
Kolekce webů B1
Web B1a
Web B1b
Kolekce webů B2
Web B2a
Jak vidíte, webové farmy můžou obsahovat jednu nebo více webových aplikací, které pak můžou obsahovat jednu nebo více kolekcí webů, které můžou mít podřízené weby atd. Změny provedené v jedné kolekci webů mají vliv jenom na tuto kolekci webů a žádné jiné. Změny provedené na úrovni webové farmy však ovlivňují všechny kolekce webů ve farmě.
Windows služba SharePoint Services (WSS) 3.0 umožňuje nasadit řešení pouze na úroveň farmy, ale Služba Microsoft SharePoint Foundation umožňuje nasazení na úroveň farmy (řešení farmy) nebo na úroveň kolekce webů (řešení v izolovaném prostoru).
Proč řešení v izolovaném prostoru (sandbox)?
Ve WSS 3.0 je možné řešení nasadit pouze na úroveň farmy. To znamená, že potenciálně škodlivá nebo normalizovaná řešení by mohla být nasazena, která ovlivnila celou webovou farmu a všechny ostatní kolekce webů a aplikace, které v ní běží. Pomocí řešení v izolovaném prostoru (sandbox) ale můžete svá řešení nasadit do podoblasti farmy, konkrétní kolekce webů. Pro zajištění další ochrany se sestavení řešení nenačte do hlavního procesu služby IIS (w3wp.exe). Místo toho se načte do samostatného procesu (SPUCWorkerProcess.exe). Tento proces se monitoruje a implementuje kvóty a omezování, které chrání farmu před řešeními v izolovaném prostoru (sandbox), která provádějí škodlivé aktivity, jako je spouštění úzkých smyček, které spotřebovávají cykly procesoru.
Galerie řešení kolekce webů
Windows služba SharePoint Services 2010 má funkci, která se označuje jako galerie řešení kolekce webů. K této funkci se dostanete ze stránky Centrální Správa istrace SharePointu 2010 nebo otevřením nabídky Akce webu, zvolením možnosti Web Nastavení a následným výběrem odkazu Řešení v části Galerie na sharepointovém webu. Galerie řešení jsou úložiště řešení, která správcům kolekce webů umožňují spravovat řešení ve svých kolekcích webů.
Galerie řešení je knihovna dokumentů uložená na kořenovém webu sharepointového webu. Galerie řešení nahrazuje šablony webů a podporuje balíčky řešení. Když se nahraje soubor balíčku řešení SharePointu (.wsp), zpracuje se jako řešení v izolovaném prostoru (sandbox).
Omezení řešení v izolovaném prostoru (sandbox)
Když je nasazené řešení v izolovaném prostoru (sandbox), je pole dostupných funkcí SharePointu omezené, aby se snížily případné ohrožení zabezpečení. Mezi tato omezení patří:
Řešení v izolovaném prostoru mají k dispozici omezenou podmnožinu nasaditelných prvků řešení. Potenciálně ohrožené šablony projektů SharePointu, jako jsou definice webu a pracovní postupy, nejsou k dispozici.
SharePoint spouští kód řešení v izolovaném prostoru (sandbox) v procesu (SPUCWorkerProcess.exe) odděleně od hlavního fondu aplikací SLUŽBY IIS (w3wp.exe).
Do projektu nelze přidat mapované složky.
Typy v sestavení Microsoft SharePoint Server Microsoft.Office.Server nelze použít v řešeních v izolovaném prostoru (sandbox). V řešeních v izolovaném prostoru (sandbox) lze také použít pouze typy v sestavení Microsoft.SharePoint Foundation.
Je důležité si uvědomit, že určení řešení SharePointu jako řešení v izolovaném prostoru (sandbox) nemá na sharepointovém serveru žádný vliv; určuje, jak se projekt SharePointu nasadí do SharePointu ze sady Visual Studio a k jakým sestavením se vytvoří vazba. Nemá vliv na vygenerovaný soubor .wsp a soubor WSP nemá žádná data, která přímo korelují s vlastností řešení v izolovaném prostoru (Sandbox).
Možnosti a prvky v řešeních v izolovaném prostoru (sandbox)
Řešení v izolovaném prostoru (sandbox) podporují následující funkce a prvky:
Typy obsahu nebo pole
Vlastní akce
Deklarativní pracovní postupy
Příjemci událostí
Popisky funkcí
Definice seznamu
Výpis instancí
Modul/soubory
Navigace
Onet.xml
SPItemEventReceiver
SPListEventReceiver
SPWebEventReceiver
Podpora všech Webové části odvozených od
System.Web.UI.WebControls.WebParts.WebPart
Webové části
Elementy funkce WebTemplate (místo Webtemp.xml)
Vizuální Webové části
Řešení v izolovaném prostoru (sandbox) nepodporují následující funkce a prvky:
Stránky aplikace
Vlastní skupina akcí
Funkce v oboru farmy
HideCustomAction
– elementFunkce s vymezeným oborem webové aplikace
Pracovní postupy s kódem