Domanda

Sto cercando un parser LDIF per C #. Sto cercando di analizzare un file LDIF in modo che posso controllare non esistono oggetti prima di aggiungere loro. L'aggiunta di loro quando il già esistono utilizzando ntdsSchemaAdd) causa una voce nel log degli errori.

È stato utile?

Soluzione

Un websearch rapida rivelato: http://wiki.github.com/skradel/Zetetic .Ldap / . Essi hanno fornito un'API .NET.

Dalla pagina:

  

Zetetic.Ldap è una libreria .NET per   NET 2 e sopra, che lo rende   più facile lavorare con i server di directory   (Come Active Directory, ADAM, Red Hat   Directory Server, e altri). Alcuni   le caratteristiche fondamentali di Zetetic.Ldap sono:

     

parsing di file 1.LDIF e la generazione - leggere e scrivere il formato di file utilizzato   per lo spostamento di dati tra circa   sistemi di directory

     

2.LDAP Entry-oriented API con il rilevamento delle modifiche - Creazione e modifica di directory   oggetti in un modo più naturale

     

3.LDAP Schema interrogatorio - accesso programmatico rapido al tipo di   oggetti e campi vostra directory   Server capisce. Scopri se un   attributo è una stringa, un numero, una   data, ecc, senza un sacco di manuali   ricerca e ri-analisi

     

4.LDIF Pivoter - Girare un file LDIF in un (virgola o delimitato da tabulazioni) piatta   file per analisi o il caricamento in   sistemi che non parlano LDIF Abbiamo costruito   la libreria Zetetic.Ldap fare   progetti di directory e di programmazione   veloce e più facile, e rilasciarlo qui   nella speranza che gli altri lo troveranno   utile anche. Per quanto ne sappiamo, questo è   l'unica libreria .NET che in realtà   capisce la specifica LDIF.

Download link: http://github.com/downloads/ skradel / Zetetic.Ldap / Zetetic.Ldap_20090831.zip

Altri suggerimenti

Vorrei analizzare io stesso.

Se si guarda alla LDIF RFC per l'EBNF, vedrete che si tratta di non una grammatica molto complesso.

Ho analizzato una grande quantità di LDIF prima di usare espressioni regolari in modo affidabile. Anche se la vostra situazione potrebbe essere diversa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top