O aplicativo falha quando apenas um dos dois servidores do Active Directory está desativado

1

Quando eu desconectar o cabo Ethernet de um dos servidores do Active Directory, meu aplicativo não autentica o usuário, apesar de haver um servidor do Active Directory diferente disponível na rede. Por que é que? Espero que, se um dos servidores do Active Directory falhar, os outros possam lidar com solicitações.

Eu uso o Windows Server 2008 R2 de 64 bits.

Eu tenho um aplicativo do IIS que autentica usuários em um Active Directory.

        string serverName = ConfigurationManager.AppSettings["AD.Server"];
        string userName = ConfigurationManager.AppSettings["AD.User"];
        string password = ConfigurationManager.AppSettings["AD.Password"];
        _principalContext = new PrincipalContext(ContextType.Domain, serverName, userName, password);

Aqui estão as configurações:

<add key="AD.Server" value="192.168.0.1"/> <!---  THIS IS THE PRIMARY PRODUCTION SERVER -->
<add key="AD.User" value="Domain\Administrator"/>
<add key="AD.Password" value="******"/>

Depois eu configurei outro servidor do Active Directory (seja 192.168.0.2). É sincronizado com sucesso com o servidor de produção. Mais tarde, quando eu desligo o segundo servidor AD, meu aplicativo falha com a exceção "O servidor não está operacional".

Por que isso? Por que o aplicativo depende do segundo servidor, apesar de receber explicitamente outro servidor na configuração?

    
por Max Kosyakov 15.08.2013 / 13:09

2 respostas

2

Seus DCs devem funcionar do jeito que você está esperando.

  • Executar DCdiag / a , ele informa alguma falha?
  • Se você reiniciar o aplicativo quando o DC "em funcionamento" estiver off-line, ele provavelmente estará apontando para o outro controlador de domínio (ou seja, um problema ou um problema no qual está vinculando a um controlador de domínio no início e não pode ser vinculado a o outro quando o que está usando não está disponível)?
  • Há quanto tempo o novo DC está ativo - o IIS precisa ter a chance de estar ciente de que existe.
  • Você não precisa especificar um controlador de domínio - deve apontar seu aplicativo para o domínio, não para um servidor.

Estou um pouco confuso com o que está acontecendo, na sua pergunta primeiro você diz que espera que ele falhe, mas você está explicitamente dizendo a ele qual CD usar. Se você precisar fornecer um nome de servidor, tente o próprio nome DNS do domínio (company.local ou qualquer outro). Isso resolverá uma lista de IPs para cada controlador de domínio em seu domínio.

    
por 15.08.2013 / 15:32
0

Você definiu todos os seus computadores no Active Directory para saber sobre esse endereço IP do controlador de domínio secundário? Você faz isso na seção DNS da sua configuração de rede.

    
por 15.08.2013 / 13:55