Il miglior approccio per la gestione degli utenti definiti all'interno della directory attiva, all'interno della mia applicazione personalizzata

5

Voglio iniziare un nuovo progetto web asp.net mvc5 Personal Perizie. Ora avrò un modulo all'interno del sistema per la gestione degli utenti e l'aggiunta di informazioni come ruolo primario, ruolo secondario, abilità principali, valutazione per ciascuna abilità.

Poiché gli utenti sono già all'interno della directory attiva, quindi non voglio memorizzare informazioni duplicate come il loro nome, cognome, indirizzo email, voglio recuperarle direttamente dall'AD. Quindi sto pensando a questo scenario:

  1. Fai clic su "Aggiungi utente".
  2. Inizia a digitare il nome, in cui il sistema completerà automaticamente gli utenti correlati da AD.
  3. Seleziona un utente specifico. Il sistema popolerà il suo nome e cognome + indirizzo email.
  4. Inserisci informazioni come ruolo principale, abilità principali, ecc.
  5. Salva
  6. Dopodiché salverò SOLO il GUID per l'utente o qualsiasi ID che identifichi univocamente l'utente all'interno di AD.
  7. Più avanti, quando voglio visualizzare le informazioni degli utenti, recupererò dinamicamente il suo nome, cognome e indirizzo email dall'AD in base all'ID GUID che memorizzo nel mio DB e li visualizzerò all'interno del mio sistema + le informazioni che sono memorizzate all'interno del mio DB (come ruolo primario, competenze, ecc.)

Quindi qualcuno può consigliare questo approccio, o è meglio memorizzare le informazioni degli utenti all'interno del mio sistema e definire un lavoro di sincronizzazione che sincronizzerà gli utenti come definito nell'AD? Non sono sicuro di come dovrei gestire questo scenario. Grazie.

    
posta john Gu 11.12.2014 - 11:32
fonte

2 risposte

2

Penso che dovresti memorizzare tutti i dati necessari per disegnare correttamente l'interfaccia utente all'interno del tuo database e sincronizzarlo con AD. Altrimenti molto presto incapperai in problemi di prestazioni. La sincronizzazione con AD sembra buona per me. Per quanto riguarda la sincronizzazione, controlla questo articolo di Microsoft. Ci sono tecniche per questo all'interno di AD.

    
risposta data 31.01.2015 - 19:24
fonte
1

È un messaggio leggermente confuso di Microsoft. Da un lato, archiviare schemi personalizzati in AD sembra il posto ideale per dirlo, ma d'altro canto non vogliono che tu lo faccia. Le guide di AD notano che mentre è possibile aggiungere schemi ad AD, non è possibile rimuoverli in seguito. Questo rende nervosi gli amministratori. Non vorrei avere un sistema di audth utente centrale che finisca per crescere con dati estranei che non potreste mai eliminare o riordinare se smettete di usare l'applicazione che lo richiedeva.

Quello che hanno prodotto è un sistema AD-lite (chiamato ADAM ) che puoi collegare al tuo annuncio pubblicitario in modo che AD conservi gli utenti e che ADAM conservi i dati personalizzati. Non sono mai riuscito a farlo funzionare correttamente, gli strumenti per gestire il sistema sono scarsi e anche se si inseriscono i dati personalizzati, è necessario passare attraverso molti loop per renderlo accessibile agli amministratori di AD (che è il punto di metterlo lì - unico punto di amministrazione dei dati dell'utente)

Consiglio vivamente di utilizzare un normale database per conservare i dati personalizzati. Metti una chiave primaria che corrisponde al GUID dell'utente e leggi i tuoi dati in 2 fasi, leggi / autentica l'utente, quindi usa il GUID dell'utente per leggere i dati personalizzati dal tuo DB come al solito.

    
risposta data 29.09.2015 - 10:39
fonte