Melhor maneira de configurar o módulo Active Directory em uma solução Sitecore

É fácil conectar o Sitecote a um servidor de Actice Directory (AD) com o Active Directory Module. Instalar e configurar o modulo não é difícil, mas se você seguir a documentação oficial vai acabar atualizando bastante coisa em seu arquivo Web.config, o que pode ser um problema por várias razões:

  1. Você pode facilmente perder o controle das customizações que aplicou;
  2. Fazer upgrade do Sitecore pode se tornar mais difícil;
  3. Durante o desenvolvimento, você pode ser forçado a desabilitar o Active Directory, tendo basicamente que desfazer as configurações implantadas durante a instalação, o que não é exatamente simples.

Depois de enfrentar esses problemas umas duas vezes, decidi ir atrás de uma abordagem melhor.

Usando Includes

De longe a maior limitação é a necessidade de atualizar o Web.config, já que as mudanças não estão na parte dedicada ao Sitecore, portanto não podem ser alteradas através de arquivos patches em seu diretório /App_Config/Include. O melhor que podemos fazer é criar arquivos com nossas configurações e incluí-los no Web.config. Já que temos que modificá-lo, faremos o mínimo possível.

Passo a Passo

  1. Adicione as configurações de conexão do AD ao seu ConnectionStrings.config:

    <add name=”ManagersConnString” connectionString=”LDAP://yourldapserver.com:389/DC=your,DC=domain” />

  2. Em seu Web.config, encontre a seção <system.web> e comente os nós <membership>, <roleManager> e <profile> – eles serão substituídos por includes;
  3. No mesmo nível que você comentou, adicione um nó <machineKey> conforme explicado na documentação oficial:

    <machineKey validationKey=”BDDFE367CD36AAA81E195761BEFB073839549FF7B8E34E42C0DEA4600851B0065856B211719ADEFC76F3F3A556BC61A5FC8C9F28F958CB1D3BD8EF9518143DB6″ decryptionKey=”0DAC68D020B8193DF0FCEE1BAF7A07B4B0D40DCD3E5BA90D” validation=”SHA1″ />

  4. Ainda no mesmo nível, vamos adicionar 3 includes para os providers de Membership, RoleManager e Profile:

    <!– Includes –>
    <membership configSource=”App_Config\AD\Membership.config” />
    <roleManager configSource=”App_Config\AD\RoleManager.config” />
    <profile configSource=”App_Config\AD\Profile.config” />

  5. Vamos também adicionar 3 outros includes, que servem para desabilitar o módulo AD. Vamos deixá-lo comentado por hora, o que ativará o módulo:

    <!–
    <membership configSource=”App_Config\AD\Membership_Disabled.config” />
    <roleManager configSource=”App_Config\AD\RoleManager_Disabled.config” />
    <profile configSource=”App_Config\AD\Profile_Disabled.config” />
    –>

  6. Você tem também que adicionar seus domínios mapeados ao arquivo App_Config\Security\Domains.config:

    <domain name=”ad” ensureAnonymousUser=”false”/>

  7. Agora vamos criar uma pasta chamada “AD” dentro de App_Config e jogar dentro dela os 6 arquivos de configuração que estão dentro deste zip:
    AD-configs – Não esqueça de revisar todos os arquivos (exceto os “_Disabled.config” que armazenam as configurações nativas do Sitecore) para ter certeza que o username, a senha e os domínios estão corretos!

Agora, sempre que quiser desabilitar o modulo, você só precisa comentar as linhas do passo 4 e descomentar as do passo 5 – bem simples.

Publicado em Active Directory, Architecture, Development, LDAP, Sitecore Modules
Um comentário sobre “Melhor maneira de configurar o módulo Active Directory em uma solução Sitecore
  1. brijesh says:

    Good stuff!! yes it is always good to have custom config files and patch them and you have showed it correctly how to do that for active directory module.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

  Am Not Spammer

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>