Compartilhar via


Protegendo Web Parts nos serviços SharePoint Windows

Web Parts em Windows SharePoint Services fornecem um avançado maneira para que os usuários para interagir com outros sistemas. Windows SharePoint Services tem interno as configurações de segurança para restringir a acessar que tem um Web Part subjacente sistemas. Um desenvolvedor pode criar personalizado arquivos política de segurança para dar um acessar maior Web Part para a subjacente sistema. Este tópico apresenta o interno configurações, um visão geral de uma diretiva Code Access Security (CAS) e como incluir um personalizado diretiva Code Access Security em uma solução Windows SharePoint Services wssnoversshort.

Segurança de Acesso ao Código

Segurança de acesso ao código é um modelo Resource-Constraints que limita a acessar que tem um assembly a recursos protegidos do sistema e de operações. Windows SharePoint Services tem interno diretivas de segurança compilado no parte superior do interno diretivas de segurança de ASP.NET. Por padrão, Windows SharePoint Services usa um conjunto mínimo de permissões em ordem para proteger o servidor e subjacente infra-estrutura de mal-intencionado codificar.

Se sua Parte da Web precisa acessar maior do que o que é fornecido nas configurações mínimas, há um número maneiras para aumentar as permissões do seu Web Part, mas somente uma é recomendada. A prática recomendada é criar um diretiva Code Access Security personalizado para a Web Part. O segundo método é aumentar a nível de confiabilidade geral do farm de servidor no arquivo web.config web.config. Este é um risco de segurança e não é recomendada. Para obter mais informações sobre implantação, consulte Implantando Web Parts nos serviços SharePoint Windows.

As configurações de segurança interna

Windows SharePoint Services é um aplicativo confiança Parcial Por padrão. Windows SharePoint Services pode usar o interno ASP.NET confiança níveis mas define dois níveis confiança de seu próprio:

  • WSS_Minimal

  • WSS_Medium

A confiança níveis estender o Minimal e Medium confiança níveis de ASP.NET para uso com . Confiança níveis são definidos na diretiva arquivos encontrados na sistema de arquivos de cada servidor W3 (World Wide Web).

Importante Por padrão, o interno arquivos de diretiva Windows SharePoint Services wssnoversshort, nomeado wss_minimaltrust.config e wss_mediumtrust.config, são encontrados em Arquivos de programas\Arquivos comuns\Microsoft Shared\web servidor extensions\12\config %SYSTEMDRIVE%\Program Files\Common Files\Microsoft Shared\web server extensions\12\config %SYSTEMDRIVE%\Program.

Por padrão, Windows SharePoint Services se aplica a nível de confiabilidade WSS_Minimal WSS_Minimal para o servidor virtual. Esta nível de confiabilidade concede todas as permissões na confiança mínima Minimal ASP.NET, bem como as conexões entre Web Parts. O WSS_Minimal WSS_Minimal diretiva restringe a Web Part acessem vários recursos para avançado operações, inclusive as operações de modelo e arquivo objeto.

O nível de confiabilidade WSS_Medium WSS_Medium concede acessar maior para o ambiente. Além disso, WSS_Medium permite acessar às Windows SharePoint Services objeto modelo e arquivo operações inclusive descoberta ler, Gravação, anexar e caminho. Esta nível de confiabilidade também permite acessar as variáveis ambiente.

A seguinte tabela descreve as permissões específicas concedidas com o WSS_Minimal e arquivos de diretiva WSS_Medium WSS_Medium no ambiente de ASP.NET 2.0.

Permissão WSS_Medium Nível de confiança WSS_Minimal Nível de confiança

AspNetHostingPermission

Médio

Mínimo de

DirectoryServicesPermission

Nenhum

Nenhum

DnsPermission

Irrestrito

Nenhum

EnvironmentPermission

Ler: Temp, TMP, OS, nome de usuário, nome_do_computador

Nenhum

EventLogPermission

Nenhum

Nenhum

FileIOPermission

Ler, Gravar, acréscimo, Diretório PathDiscovery:Application

Nenhum

IsolatedStoragePermission

AssemblyIsolationByUser, UserQuota irrestrito

Nenhum

MessageQueuePermission

Nenhum

Nenhum

OleDBPermission

Nenhum

Nenhum

Desempenho contadores

Nenhum

Nenhum

PrintingPermission

Impressão padrão

Nenhum

ReflectionPermission

Nenhum

Nenhum

RegistryPermission

Nenhum

Nenhum

SecurityPermission

Execução, Asserção, ControlPrincipal, ControlThread, RemotingConfiguration

A execução

ServiceControllerPermission

Nenhum

Nenhum

SharePointPermission

(Microsoft.SharePoint.Security)

ObjectModel = True

Nenhum

SocketPermission

Nenhum

Nenhum

SqlClientPermission

AllowBlankPassword = False

Nenhum

WebPermission

Se Conectar para hospedar origem (se configurado)

Nenhum

Observação

Para obter mais informações sobre Code Access Security, consulte Usar Segurança de Acesso ao Código com ASP.NET e também Diretrizes de Segurança para .NET Framework 2.0.

Criar uma política de segurança de acesso de código

Windows SharePoint Services 3.0 adicionado a capacidade arquivo de política implantar uma CAs com uma solução. Esse recurso torna mais fácil para que você crie personalizado permissões para o Web Parts e permite Windows SharePoint Services ao identificador de implantação.

O seguinte exemplo de código mostra a estrutura básica de uma arquivo de política CAS em um pacote solução Windows SharePoint Services wssnoversshort.

                    <CodeAccessSecurity>
   <PolicyItem>
     <PermissionSet class="NamedPermissionSet" version="1"
      Description="Permission set for custom test WebParts">
        <IPermission class="AspNetHostingPermission" version="1" 
        Level="Minimal" />
        <IPermission class="SecurityPermission" version="1" 
        Flags="Execution" />
        <IPermission 
        class="Microsoft.SharePoint.Security.SharePointPermission, 
        Microsoft.SharePoint.Security, version=11.0.0.0, 
        Culture=neutral, PublicKeyToken=71e9bce111e9429c" version="1" 
        ObjectModel="True" />
        <IPermission class="System.Net.WebPermission, System, 
        version=1.0.5000.0, Culture=neutral, 
        PublicKeyToken=b77a5c561934e089" version="1">
          <ConnectAccess>
            <URI uri="https?://.*" />
          </ConnectAccess>
        </IPermission>
        <IPermission 
        class="System.Security.Permissions.SecurityPermission, 
        mscorlib, version=1.0.5000.0, Culture=neutral, 
        PublicKeyToken=b77a5c561934e089" version="1" 
        Flags="ControlThread, UnmanagedCode" />
        <IPermission 
        class="System.Security.Permissions.EnvironmentPermission, 
        mscorlib, version=1.0.5000.0, Culture=neutral, 
        PublicKeyToken=b77a5c561934e089" version="1" Read="UserName" />
     </PermissionSet>
     <Assemblies>
       <Assembly PublicKeyBlob=PublicKeyBlob />
     </Assemblies>
   </PolicyItem>
</CodeAccessSecurity>

The list below includes some general guidelines that apply when you use a <CodeAccessSecurity> section in your solution manifest.

  • There can only be one <CodeAccessSecurity> per solution manifest.

  • There can be multiple <PolicyItem> nodes.

  • Every <PolicyItem> node can only contain one <PermissionSet> node.

  • Every <PolicyItem> node can only contain one <Assemblies> node.

  • Each <PermissionSet> node can contain multiple <IPermission> nodes.

  • There can be multiple <Assembly> nodes under the <Assemblies> node.

For more information about the schema of the <CodeAccessSecurity> area, see Elemento CodeAccessSecurity .

Quando você implantar o assembly usando um diretiva de CAS personalizado, você deve usar o - allowCasPolicies com o utilitário stsadm.exe. O comando é da seguinte maneira:
stsadm -o deploySolution -name <insert name> -allowCasPolicies

Para obter mais informações sobre como usar stsadm para implantar uma solução, consulte Stsadm de operações .

Consulte também

Outros recursos

Using Code Access Security with ASP.NET
Stsadm Operations