Partilhar via


Considerações da solução em área restrita

Soluções em área restrita são um recurso no Microsoft SharePoint 2010 que permite que os usuários da coleção de sites carreguem suas próprias soluções de código personalizado. Uma solução em área restrita comum é aquela em que os usuários carregam 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 do Web farm. O Microsoft SharePoint 2010 usa uma combinação de recursos, galerias de solução, monitoramento de solução 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 em Área Restrita. 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 em Área Restrita de um projeto depois que ele é criado pode causar erros de validação.

A solução será considerada uma solução no escopo do farm se a propriedade Solução em Área Restrita estiver definida como false ou se você escolher a opção Implantar como uma solução do farm. No entanto, a solução será tratada de forma diferente de uma solução do farm se a propriedade Solução em Área Restrita 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, é interessante saber que os sites do SharePoint são hierárquicos no escopo. O elemento superior é conhecido como o Web farm e outros elementos são subordinados a ele:

Web Farm

Aplicativo Web A

Coleção de sites A1

Site A1a

Aplicativo Web B

Coleção de sites B1

Site B1a

Site B1b

Coleção de sites B2

Site B2a

Como você pode ver, os Web farms podem conter um ou mais aplicativos Web, que, por sua vez, podem conter uma ou mais coleções de sites, que podem ter subsites e assim por diante. As alterações feitas em uma coleção de sites afetam apenas essa coleção de sites e nenhuma outra. No entanto, as alterações feitas no nível do WEb farm afetam todas as coleções de sites no farm.

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

Por que usar as soluções em área restrita?

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 e afetariam todo o WEB farm e todas as outras coleções 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 do farm, em uma coleção de sites específico. 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 contra soluções em área restrita que executam atividades prejudiciais, como executar loops rígidos 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, 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 da coleção de sites gerenciem soluções em suas coleções 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.

Limitações da solução em área restrita

Quando uma solução em área restrita é implantada, a matriz da funcionalidade do SharePoint disponível para ela é limitada para ajudar a reduzir quaisquer 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ções 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 dos IIS (w3wp.exe).

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

  • Os tipos no assembly Microsoft.Office.Server do Microsoft SharePoint Server não podem ser usados nas soluções em área restrita. Além disso, somente tipos no assembly Microsoft.SharePoint do Microsoft SharePoint Foundation podem ser usados nas 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 determina apenas como o projeto do SharePoint é implantado no SharePoint a partir do Visual Studio e a quais assemblies ele se associa. Ele não afeta o arquivo .wsp gerado e o arquivo .wsp não tem dados que se correlacionam diretamente com a propriedade Solução em Área Restrita.

Recursos e elementos nas soluções em área restrita

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 evento

  • Textos explicativos de recursos

  • Listar definições

  • Listar instâncias

  • Módulo/arquivos

  • Navegação

  • Onet.xml

  • SPItemEventReceiver

  • SPListEventReceiver

  • SPWebEventReceiver

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

  • Partes de Web

  • Elementos do 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 de aplicativo

  • Grupo de Ações Personalizadas

  • Recursos com escopo do farm

  • Elemento HideCustomAction

  • Recursos no escopo do aplicativo Web

  • Fluxos de trabalho com código