Partilhar via


Exemplo de arquivos Web.config para autenticações baseadas em formulários LDAP

Atualizado: junho de 2007

 

Tópico modificado em: 2015-02-27

Ao configurar a autenticação baseada em formulários em relação a um armazenamento de dados LDAP para o Microsoft Office Project Server 2007, você deve especificar onde está o armazenamento de dados e onde armazenar as contas de usuário do site na estrutura de diretórios. Especifique essas configurações usando o arquivo de configuração do site (Web.config). As mesmas alterações também devem ser feitas no arquivo Web.config do site de Administração Central do SharePoint.

Este artigo fornece dois exemplos de alterações que precisam ocorrer nos arquivos Web.config para autenticação baseada em formulários do Project Server 2007 em relação a um armazenamento de dados LDAP. Para obter mais informações sobre como para implementar as alterações, consulte Criar um site do Project Web Access que usa autenticação baseada em formulários em um armazenamento de dados LDAP.

Exemplo 1 de arquivo Web.config

A seguir há um exemplo simples da seção <membership> que é necessária no arquivo Web.config para um site baseado em autenticação de formulários.

Nesse exemplo básico, você tem um único site que usa autenticação baseada em formulários em relação a um provedor de associação única. O armazenamento de diretório LDAP está localizado em um computador chamado "Contoso1" e está configurado para usar a porta 50000. A autenticação seria em relação a objetos em userContainer que correspondam a userFilter. Nesse caso, os objetos seriam itens do contêiner definidos por: CN=Users,OU=WSS,O=nondomain,C=US.

<membership defaultProvider="LDAPMembership">

<providers>

<add

name="LDAPMembership"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider,Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral,PublicKeyToken=71E9BCE111E9429C"

server="Contoso1"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=Contoso,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" />

</providers>

</membership>

A tabela a seguir descreve os valores de parâmetros que são usados no arquivo Web.config do exemplo anterior.

Parâmetro Descrição

name="LDAPMembership"

Especifica o nome do provedor de associação. Esse valor deve corresponder ao nome do provedor de associação especificado na página Provedores de Autenticação na Administração Central. No exemplo, "LDAPMembership" é o valor para o nome do provedor de associação.

server="Contoso1"

Especifica o nome do computador que hospeda o serviço LDAP. No exemplo, esse valor indica que o serviço de diretório está localizado no servidor "Contoso1". Por exemplo, essa pode ser uma instância do Modo de Aplicativo do Active Directory (ADAM) ou um controlador de domínio em um ambiente de serviço de diretório do Windows Server Active Directory.

port="50000"

Especifica a porta em que o LDAP está escutando. A porta padrão é 389.

useSSL="false"

Especifica que o SSL não está sendo usado para a comunicação com o armazenamento de dados LDAP.

Só há suporte para ligações anônimas ao provedor LDAP. Verifique se o valor está definido como false.

userDNAttribute="distinguishedName"

Atributo do nome diferenciado do usuário. O nome aparece no Windows SharePoint Services).

userNameAttribute="cn"

Atributo do objeto de nome de usuário — neste caso, um nome comum (cn).

userContainer="CN=Users,OU=WSS,O=nondomain,C=US"

Define o nome diferenciado completo do contêiner para os usuários.

userObjectClass="user"

Classe de objeto de usuário — neste caso, user.

userFilter="(ObjectClass=user)"

userFilter é um filtro padrão para consultas LDAP. Pode ser definido para controlar um subconjunto de usuários que deve estar disponível para que seja feita autenticação em relação a ele.

O filtro do exemplo está configurado para resolução apenas em relação a objetos de usuário. Pode haver grupos e outros objetos no contêiner de UO.

scope="Subtree"

Define o escopo de pesquisa da seleção.

otherRequiredUserAttributes="sn,givenname,cn" />

Outros atributos de usuário a serem retornados. sn é o sobrenome. givenname é o nome. cn é o nome diferenciado relativo criado com os outros dois atributos (por exemplo, "José Silva").

Exemplo 2 de arquivo Web.config

A seguir há um exemplo mais complexo. Nesse cenário, a empresa usa dois sites que utilizam autenticação baseada em formulários — um para uma intranet e outro para uma extranet. Cada site usa um provedor de associação LDAP diferente.

Nesse cenário, os arquivos Web.config para a Administração Central, o site da intranet e o site da extranet devem ser configurados de forma diferente. O arquivo Web.config de cada site precisa conter informações para o provedor de associação LDAP específico necessário para que seus usuários acessem o site.

Arquivo Web.config para a Administração Central

Nesse cenário, o arquivo Web.config para a Administração Central deve ter informações sobre os dois provedores de associação (LDAPMembership e LDAPMembership2). A seção <membership> do arquivo Web.config para a Administração Central é:

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=fabricam,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Extranet,O=fabricam,C=US"

userObjectClass="user"

userFilter="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership2"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

</providers>

</membership>

Arquivo Web.config para o site da intranet

A seção <membership> do arquivo Web.config para o site da intranet é:

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=fabricam,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

</providers>

</membership>

O site da Intranet está usando o provedor de associação LDAPMembership e está realizando a autenticação em relação aos usuários no contêiner CN=Users,OU=Support,O=fabricam,C=US.

Arquivo Web.config para o site da extranet

O provedor de associação para o site da extranet é definido como LDAPMembership2. A seção <membership> do arquivo Web.config para o site da extranet é:

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Extranet,O=fabricam,C=US"

userObjectClass="user"

userFilter="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership2"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

</providers>

</membership>

O site da extranet está usando o provedor de associação LDAPMembership2 e está realizando a autenticação em relação aos usuários no mesmo contêiner que LDAPMembership ("CN=Users,OU=Extranet,O=fabricam,C=US"). No entanto, o site da extranet está usando o filtro ="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))". Isso só autenticará usuários nos grupos ProjectUsers e WSSUsers definidos no diretório. Observe também o &amp;. Ele substitui os & normalmente usados em consultas LDAP.

O formato das seções <membership> no exemplo 2 é diferente do formato do exemplo 1. Ele ainda contém exatamente os mesmos atributos, mas em uma ordem diferente. O motivo é que o segundo exemplo foi editado usando a interface do usuário do Gerenciador dos Serviços de Informações da Internet.

NoteObservação:
Há um problema causado pelo uso da interface do usuário do Gerenciador dos Serviços de Informações da Internet. O elemento <configuration> é reescrito como <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0"> e isso causa um erro de aplicativo no Windows SharePoint Services. Para obter mais informações, consulte o Artigo 917238 da Base de Dados de Conhecimento (https://go.microsoft.com/fwlink/?linkid=92744&clcid=0x416).