Compartilhar via


Considerações sobre a solução em ambiente isolado

Soluções em área restrita são um recurso no Microsoft SharePoint 2010 que permite que os usuários do conjunto de sites carreguem suas próprias soluções de código personalizadas. Uma solução comum em área restrita são os usuários que carregam suas próprias Web Parts.

Um aplicativo do SharePoint em sandbox é executado em um processo seguro e monitorado que tem acesso a uma parte limitada da fazenda da Web. O Microsoft SharePoint 2010 usa uma combinação de recursos, galerias de soluções, monitoramento de soluções e uma estrutura de validação para habilitar soluções em área restrita.

Especificar o nível de confiança do projeto

O Visual Studio dá suporte a soluções em área restrita por meio de uma propriedade de projeto booliano chamada solução sandboxed. Essa propriedade pode ser definida a qualquer momento no projeto ou pode ser especificada quando você cria o projeto no Assistente de Personalização do SharePoint.

Observação

Alterar a propriedade Solução Sandboxed de um projeto após sua criação pode causar erros de validação.

A solução é considerada uma solução com escopo de fazenda se a propriedade solução sandbox estiver definida como false ou você escolher a opção Implantar como solução de farm. No entanto, a solução será tratada de forma diferente de uma solução de farm tradicional se a propriedade Solução Sandboxed estiver definida como true, ou se você escolher a opção Implantar como uma solução sandbox no assistente.

Hierarquia de sites do SharePoint

Para entender como as soluções em área restrita funcionam, ajuda a saber que os sites do SharePoint são hierárquicos no escopo. O elemento superior é conhecido como a fazenda Web, e outros elementos são subordinados a ele:

Web farm

Aplicativo Web A

Conjunto de sites A1

Site A1a

Aplicativo Web B

Conjunto de Sites B1

Site B1a

Site B1b

Conjunto de Sites B2

Site B2a

Como você pode ver, as fazendas de servidores Web podem conter uma ou mais aplicações Web, que por sua vez podem conter um ou mais conjuntos de sites, que podem ter subsites e assim por diante. As alterações feitas em um conjunto de sites afetam apenas o conjunto de sites e nenhum outro. No entanto, as alterações feitas no nível da fazenda de servidores afetam todos os conjuntos de sites na fazenda.

O Windows SharePoint Services (WSS) 3.0 permite implantar soluções apenas no nível da fazenda, mas o Microsoft SharePoint Foundation permite que você implantar no nível da fazenda (solução de fazenda) ou no nível do conjunto de sites (solução em área restrita).

Por que soluções em área restrita?

No WSS 3.0, as soluções só podiam ser implantadas no nível de farm. Isso significava que soluções potencialmente prejudiciais ou desestabilizadoras poderiam ser implantadas que afetavam todo o farm da Web e todos os outros conjuntos de sites e aplicativos executados sob ele. No entanto, usando soluções em área restrita, você pode implantar suas soluções em uma subárea da farm, uma coleção de sites específica. Para fornecer proteção adicional, o assembly da solução não é carregado no processo principal do IIS (w3wp.exe). Em vez disso, ele é carregado em um processo separado (SPUCWorkerProcess.exe). Esse processo é monitorado e implementa cotas e limitação para proteger o farm de soluções em área restrita que executam atividades prejudiciais, como executar loops apertados que consomem ciclos de CPU.

O Windows SharePoint Services 2010 tem um recurso conhecido como "galeria de soluções do conjunto de sites". Você pode acessar esse recurso na página Administração Central do SharePoint 2010 ou abrindo o menu Ações do Site , escolhendo Configurações do Site e escolhendo o link Soluções em Galerias no site do SharePoint. Galerias de soluções são repositórios de soluções que permitem que os administradores do conjunto de sites gerenciem soluções em seus conjuntos de sites.

A galeria de soluções é uma biblioteca de documentos armazenada na Web raiz do site do SharePoint. A galeria de soluções substitui modelos de site e dá suporte a pacotes de solução. Quando um arquivo de pacote de solução do SharePoint (.wsp) é carregado, ele é processado como uma solução em área restrita.

Restrições da solução 'sandbox'

Quando uma solução em área restrita é implantada, a matriz de funcionalidade do SharePoint disponível para ela é limitada para ajudar a reduzir as vulnerabilidades de segurança que ela possa ter. Algumas dessas limitações incluem o seguinte:

  • As soluções em área restrita têm um subconjunto restrito de elementos de solução implantáveis disponíveis para elas. Modelos de projeto do SharePoint potencialmente vulneráveis, como definições de site e fluxos de trabalho, não estão disponíveis.

  • O SharePoint executa o código da solução em área restrita em um processo (SPUCWorkerProcess.exe) separado do processo principal do pool de aplicativos do IIS (w3wp.exe).

  • As pastas mapeadas não podem ser adicionadas ao projeto.

  • Os tipos no assembly Microsoft SharePoint Server Microsoft.Office.Server não podem ser usados em soluções sandbox. Além disso, somente tipos no assembly Microsoft SharePoint Foundation Microsoft.SharePoint podem ser usados em soluções sandbox.

    É importante observar que especificar uma solução do SharePoint como uma solução em área restrita não afeta o servidor do SharePoint; ele determina apenas como o projeto do SharePoint é implantado no SharePoint do Visual Studio e a quais assemblies ele se associa. Ele não afeta o arquivo .wsp gerado, e o arquivo .wsp não contém dados que se relacionam diretamente à propriedade Sandboxed Solution.

Recursos e elementos em soluções em ambiente restrito

As soluções em área restrita dão suporte aos seguintes recursos e elementos:

  • Tipos/campos de conteúdo

  • Ações personalizadas

  • Fluxos de trabalho declarativos

  • Receptores de eventos

  • Recurso de texto explicativo

  • Definições de lista

  • Instâncias de Lista

  • Módulo/arquivos

  • Navigation

  • Onet.xml

  • SPItemEventReceiver

  • SPListEventReceiver

  • SPWebEventReceiver

  • Suporte para todos os componentes Web Parts que derivam de System.Web.UI.WebControls.WebParts.WebPart

  • Web Parts

  • Elementos de recurso WebTemplate (em vez de Webtemp.xml)

  • Web Parts visuais

    As soluções em área restrita não dão suporte aos seguintes recursos e elementos:

  • Páginas do aplicativo

  • Grupo de ação personalizado

  • Recursos com escopo de fazenda

  • HideCustomAction elemento

  • Recursos com escopo de aplicativo Web

  • Fluxos de trabalho com código