In un'applicazione net 3.5 csharp è necessario sapere in anticipo se una password di AD soddisferà i requisiti di complessità configurati.
Come puoi farlo?Come si può verificare se una password AD soddisfi i requisiti di complessità configurati?
11
A
risposta
3
Questi link possono puntare nella giusta direzione:
Change user password in ADS and check the domain password policy (C#)?
User Management with Active Directory—Managing Passwords for ADAM Users
Determining Domain-Wide Account Policies (questo sembra avere quello che ti serve)
3
Se si vuole prendere i requisiti da AD, quindi i link nella risposta di @Leniel Macaferi dovrebbero aiutare.
Se si conoscono già i requisiti previsti e l'app accetta la password proposta come stringa, è possibile effettuare autonomamente i test. Alcuni requisiti comuni e modi per calcolare le includono:
- Lunghezza minima: è facile controllare la lunghezza della stringa
- Complessità: requisiti comuni sarebbero "almeno tre da questa lista: in minuscolo , maiuscolo, numeri, caratteri ", quindi si desidera creare un contatore, quindi utilizzare un'espressione regolare per verificare se ciascuna condizione corrisponde e incrementare il contatore per ciascuna di esse. Quindi, ad esempio, le espressioni regolari saranno come
[a-z]
,[A-Z]
,[0-9]
,[[email protected]#$%^&*()-_\+=<,>\.\?\/]
; per ognuno che corrisponde, aggiungi 1 al tuo contatore. Se il conteggio alla fine è inferiore ai requisiti, la password non riesce. (Potresti anche essere più gentile con l'utente e suggerire una delle categorie che hanno mancato, se hai mantenuto le variabili booleane per le categorie che hanno usato e non hanno usato.) - Facile ipotesi: puoi creare la tua uguaglianza test per garantire che l'utente non stia selezionando una password che corrisponda al nome utente o ad altre password vietate.
- Password utilizzate di recente: Uhm, questo non è così semplice ... non si può davvero capirlo senza l'aiuto di Active Directory.
Problemi correlati
- 1. Come verificare in modo programmatico l'impostazione dei criteri di gruppo "La password deve soddisfare i requisiti di complessità"?
- 2. Esiste un algoritmo di garbage collection che soddisfi questi requisiti?
- 3. Come verificare se un elemento si sovrappone ad altri elementi?
- 4. Come elencare i repository configurati?
- 5. Verificare se un ruolo in PostgreSQL ha una password impostata
- 6. Come verificare se __PRETTY_FUNCTION__ può essere utilizzato?
- 7. Come vengono configurati i giochi iOS?
- 8. Requisiti di certificazione Windows 8/Metro - Come verificare?
- 9. Verificare se un elemento si trova all'interno di una sequenza
- 10. Come si acquisiscono i requisiti con i test di accettazione dichiarativi?
- 11. Come si può usare PHP per verificare se una directory è vuota?
- 12. Come si installano i requisiti in Go? "Non può trovare pacchetto"
- 13. Come verificare se una NSWindow è visibile
- 14. Come posso verificare se una particolare eccezione non si butta?
- 15. Regex che convalida la complessità della password predefinita di Active Directory
- 16. Come verificare se una stringa può essere utilizzata come nome di variabile in PHP?
- 17. Come verificare se esiste una classe
- 18. Come si può sapere se l'iphone viene bloccato?
- 19. Come verificare se DbContext ha una transazione?
- 20. Come verificare se un Double può essere convertito in Int32?
- 21. Come si può verificare le conversioni "sicure" tra i tipi di valore in .NET?
- 22. Come verificare la password corrente dell'utente quando si modifica la password su Firebase 3?
- 23. Come verificare se esiste una proprietà?
- 24. Dove va la memoria della memoria di Ruby e come si può verificare se è impostata?
- 25. Come verificare se una struttura è inizializzata?
- 26. Come verificare se la risposta della password corrisponde a quanto fornito da un utente in ASP.Net
- 27. Complessità temporale di una funzione
- 28. Verificare se esiste una sessione JSF
- 29. Come verificare se esiste una chiave JSON?
- 30. Come si aggiungono i requisiti del rubygem condizionale a una specifica della gemma?
I due collegamenti a en.csharp-online.et sembrano essere interrotti. –
Gli ultimi due collegamenti non funzionano e il collegamento a soluzioni esterne non è una risposta adeguata su SO (che sono sicuro di conoscere ormai;)). –