Melhor abordagem para gerenciar usuários que estão definidos dentro do diretório ativo, dentro do meu aplicativo customizado

5

Eu quero começar um novo projeto da web Asp.net mvc5 Personal Appraisals. Agora terei um módulo dentro do sistema para gerenciar usuários e adicionando informações como função principal, função secundária, habilidades principais, classificação para cada habilidade.

Como os usuários já estão dentro do diretório ativo, não quero armazenar informações duplicadas, como nome, sobrenome, endereço de e-mail, desejo recuperá-las diretamente do AD. Então estou pensando neste cenário:

  1. Clique em "Adicionar usuário".
  2. Comece a digitar o primeiro nome, onde o sistema completará automaticamente os usuários relacionados do AD.
  3. Selecione um usuário específico. O sistema preencherá seu primeiro e último nome + endereço de e-mail.
  4. Insira informações como função principal, principais habilidades, etc.
  5. Salvar
  6. Depois disso, SOMENTE salvarei o GUID para o usuário ou qualquer ID que identifique exclusivamente o usuário dentro do AD.
  7. Mais tarde, quando quiser visualizar as informações dos usuários, recuperarei dinamicamente seu nome, sobrenome e endereço de e-mail do AD com base no ID do GUID que armazeno em meu banco de dados e os exibo em meu sistema. as informações armazenadas no meu banco de dados (como função principal, habilidades, etc.).

Então, alguém pode aconselhar sobre essa abordagem, ou é melhor armazenar as informações dos usuários dentro do meu sistema e definir um trabalho de sincronização que irá sincronizar os usuários conforme definido dentro do AD? Não tenho certeza de como devo lidar com esse cenário. Obrigado.

    
por john Gu 11.12.2014 / 11:32
fonte

2 respostas

2

Acho que você deve armazenar todos os dados necessários para desenhar corretamente a interface do usuário no banco de dados e sincronizá-la com o AD. Caso contrário, muito em breve você vai tropeçar em problemas de desempenho. Sincronizar com o AD parece bom para mim. E quanto a quando sincronizar, verifique este artigo da Microsoft. Existem técnicas para isso dentro do AD.

    
por 31.01.2015 / 19:24
fonte
1

É uma mensagem ligeiramente confusa da Microsoft. Por um lado, armazenar esquemas personalizados no AD parece ser um lugar ideal para colocá-lo, mas, por outro lado, eles não querem que você faça isso. Os guias do AD observam que, embora seja possível adicionar esquemas ao AD, você nunca poderá removê-los depois. Isso deixa os administradores nervosos. Eu não gostaria de ter um sistema de audição de usuário central que acabe crescendo com dados irrelevantes que você nunca poderia remover ou arrumar se você parasse de usar o aplicativo que exigia isso.

O que eles produziram é um sistema AD-Lite (chamado ADAM ) que você pode vincular ao seu AD para que o AD mantenha os usuários e o ADAM mantenha os dados personalizados. Eu nunca consegui fazê-lo funcionar, o ferramental para gerenciar o sistema é ruim, e mesmo se você colocar seus dados personalizados nele, você terá que passar por muitos obstáculos para torná-lo acessível aos administradores do AD (que é o ponto de colocá-lo lá - ponto único de administração de dados do usuário)

Recomendaria enfaticamente usar um banco de dados normal para armazenar seus dados personalizados. Coloque uma chave primária que corresponda ao GUID do usuário e leia seus dados em 2 fases, leia / autentique o usuário e use o GUID do usuário para ler os dados personalizados do seu banco de dados normalmente.

    
por 29.09.2015 / 10:39
fonte