Partilhar via


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

As soluções em área restrita são um recurso do Microsoft SharePoint 2010 que permite que os usuários do conjunto de sites carreguem suas próprias soluções de código personalizado. Uma solução comum em sandbox é os utilizadores fazerem upload das suas próprias Web Parts.

Um aplicativo do SharePoint em área restrita é executado em um processo seguro e monitorado que tem acesso a uma parte limitada da Web farm. 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 oferece suporte a soluções em área restrita por meio de uma propriedade de projeto booleano chamada Sandboxed Solution. Essa propriedade pode ser definida a qualquer momento no projeto ou pode ser especificada quando você cria o projeto no Assistente para Personalização do SharePoint.

Observação

Alterar a propriedade Sandboxed Solution de um projeto depois que ele é criado pode causar erros de validação.

A solução é considerada uma solução com escopo de farm se a propriedade Sandboxed Solution estiver definida como false ou se optar por a opção Implementar como uma solução de farm. No entanto, a solução será tratada de forma diferente de uma solução de farm se a propriedade Sandboxed Solution estiver definida como true ou se você escolher a opção Implantar como uma solução em área restrita no assistente.

Hierarquia de sites do SharePoint

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

Fazenda Web

Aplicação Web A

Conjunto de Sites A1

Sítio A1a

Aplicação Web B

Conjunto de Sites B1

Sítio B1a

Sítio B1b

Conjunto de Sites B2

Site B2a

Como você pode ver, as Web farms podem conter um ou mais aplicativos 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 esse conjunto de sites e nenhum outro. No entanto, as alterações feitas ao nível da fazenda de servidores afetam todas as coleções de sites na fazenda.

O Windows SharePoint Services (WSS) 3.0 permite implantar soluções somente no nível da farm, mas o Microsoft SharePoint Foundation permite implantar tanto no nível da farm (solução da farm) quanto no nível do conjunto de sites (solução de área restrita).

Porquê soluções em sandbox?

No WSS 3.0, as soluções só podiam ser implantadas no nível do farm. Isso significava que soluções potencialmente prejudiciais ou desestabilizadoras poderiam ser implantadas que afetassem toda a Web farm e todos os outros conjuntos de sites e aplicativos executados sob ela. No entanto, usando soluções em área restrita, você pode implantar suas soluções em uma subárea do farm, um conjunto de sites específico. Para proporcionar proteção adicional, o assembly (conjunto) 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 quotas e restrições para proteger a fazenda de soluções isoladas que executam atividades prejudiciais, como a execução de ciclos intensivos que consomem ciclos de CPU.

O Windows SharePoint Services 2010 tem um recurso conhecido como "galeria de soluções de 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, em seguida, escolhendo o link Soluções em Galerias no site do SharePoint. As galerias de soluções são repositórios de soluções que permitem que os administradores de conjuntos 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 oferece 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.

Limitaçõ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 quaisquer vulnerabilidades de segurança que 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 do Microsoft SharePoint Server Microsoft.Office.Server não podem ser usados em soluções em área restrita. Além disso, apenas os tipos no assembly Microsoft.SharePoint do Microsoft SharePoint Foundation podem ser usados em soluções em área restrita.

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

Capacidades e elementos em soluções em sandbox

As soluções em área restrita suportam os seguintes recursos e elementos:

  • Tipos/campos de conteúdo

  • Ações personalizadas

  • Fluxos de trabalho declarativos

  • Recetores de eventos

  • Chamadas de funcionalidades

  • Definições de lista

  • Listar instâncias

  • Módulo/ficheiros

  • Navegação

  • Onet.xml

  • SPItemEventReceiver

  • SPListEventReceiver

  • SPWebEventReceiver

  • Suporte para todas as Web Parts que derivam de System.Web.UI.WebControls.WebParts.WebPart

  • Peças Web

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

  • Web Parts Visuais

    As soluções em área restrita não suportam os seguintes recursos e elementos:

  • Páginas de Aplicação

  • Grupo de Ação Personalizada

  • Recursos com escopo de grupo de servidores

  • elemento HideCustomAction

  • Recursos com escopo de aplicação Web

  • Fluxos de trabalho com código