Pergunta

Temos um aplicativo ASP.NET em execução no site de um cliente que usa o ActiveDirectory para login do usuário por meio do ActiveDirectoryMembershipProvider.O controlador de domínio principal que estávamos apontando caiu esta manhã e, ao configurar tudo de volta, o cliente estava se perguntando se poderíamos ter uma conexão redundante com dois controladores de domínio;ou sejaespecificando um servidor AD primário e um de backup.Uma pesquisa no Google revelou-se infrutífera – alguém sabe se isso pode ser feito?

Foi útil?

Solução

Se o ActiveDirectory não pudesse lidar com vários controladores de domínio, não seria uma tecnologia muito boa.

Você só precisa ter certeza de que na sua configuração de associação está apontando para o 'Domínio' em vez do 'Servidor' e então adicionar dois ou mais controladores ao seu domínio.

Geralmente, se você estiver se referindo ao domínio como "LDAP://servidor/DC=domínio,DC=com", poderá remover a parte "servidor" e referir-se simplesmente a "LDAP://DC=domínio,DC = com"

O projeto de código a seguir fornece uma longa lista de coisas que você pode fazer no Active Directory a partir de C#: http://www.codeproject.com/KB/system/everythingInAD.aspx#7

Outras dicas

Isso pode ser feito, só vai dar algum trabalho.

Você precisará criar uma classe que herde do ActiveDirectoryMemberhsipProvider e usá-la como seu provedor.Dessa forma, você pode manter a maior parte da funcionalidade.Em seguida, configure uma maneira de especificar duas propriedades connectionStringName, uma para primária e outra para secundária.Você também precisará criar o código para ler as informações da configuração, já que você está alterando-a.Em seguida, basta substituir os métodos que você precisa capturar quando o primário estiver inativo e mudar para o secundário.Esta será a maneira mais reutilizável de fazer isso.

Provavelmente existem outras maneiras de fazer isso, mas provavelmente será hackeado e não muito reutilizável.Como testar a conexão antes de cada solicitação e depois definir a cadeia de conexão dessa maneira.

Com base no Documentação do MSDN na classe, esta provavelmente será a única maneira de fazer isso.Eles não fornecem a funcionalidade interna.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top