2013-03-04 19 views
22

Come è possibile utilizzare Vai a chiamare e gestire direttamente il protocollo Ldap? ci sono dei pacchi? o devo usare udp e tcp?Come utilizzare Go con il protocollo LDAP

+9

Hai cercato? https://github.com/tonnerre/go-ldap è il miglior risultato in Google – CharlesB

+3

Raccomando [godoc.org] (http://godoc.org) per la ricerca di libararies. [http://godoc.org/?q=ldap](http://godoc.org/?q=ldap) – lukad

+0

Per alcuni server di supporto minimalistico ho fatto questo: https://github.com/bradleypeabody/godap –

risposta

18

Non v'è alcuna libreria LDAP nelle librerie standard Go, ma una rapida ricerca su Google rivela alcuni si potrebbe provare:

Questa seconda è in realtà una forchetta del primo. Su github puoi sempre visualizzare i problemi aperti, l'ultimo aggiornamento e la rete forgiata (https://github.com/mmitton/ldap/network) per avere un'idea abbastanza precisa di quale libreria devi usare quando c'è un sacco di biforcazioni.

Se avete bisogno di una libreria per qualcosa omesso nello standard Go delle librerie ci sono molti buoni posti per cercare:

Se tutti questi falliscono e non ti senti in grado di creare la tua implementazione, tieni presente che puoi sempre usare cgo per chiamare il codice C (ad esempio una delle tante librerie C LDAP per esempio) da Vai.

+6

Fai riferimento a https://github.com/go-ldap/ldap, i progetti di cui sopra scaduti e non viene più mantenuto. – xiaoyi

11

Ho pensato di aggiungere i miei dieci centesimi qui. È un vecchio post, ma qui è comunque

Ho usato la libreria https://github.com/mavricknz/ldap dopo aver usato lo mmitton/ldap come menzionato da voidlogic sopra. Il problema con la lib di mmitton è che non gestisce i caratteri di escape molto bene nel filtro.

The test filter: (&(objectClass=user)(cn=wickd(bracketTest))) 

Escaped Filter: (&(objectClass=user)(cn=wickd\28bracketTest \29)) 

Il MMitton library appena tornato con un filtro compilare errore anche con il filtro fuggito. Ha caricato la libreria Mavricknz e ha funzionato. Anche con la funzione EscapeFilter! brillantezza!

Comunque ... pensato che avrei dovuto pubblicare questo per tutti coloro che avevano la stessa lotta come ho fatto :)

2

Inoltre, per la fine del server di esso, ho scritto questo pacchetto (in Go) qualche tempo fa: https://github.com/bradleypeabody/godap

Non è un server LDAP completo ma funziona bene per l'implementazione dell'autenticazione su un'altra origine dati (qualcosa non è stato possibile trovare nessun altro progetto che indirizzi).

Si fa un sacco di "protocollo di gestire direttamente Ldap" :)

+0

Sembra fantastico! Avrebbe cercato un aspetto come questo – wickd

2

Per un semplice client LDAP di alto livello, vedi go-ldap-client, go docs.

maggior parte delle opzioni sul https://godoc.org/?q=ldap sono solo forche di un altro, la maggior parte di loro sono di livello troppo basso o troppo limitato (per esempio non restituiscono errori che rendono difficile risolvere i problemi).

1

Se si desidera fornire l'autenticazione basata su LDAP nella propria pagina Web, è possibile che la soluzione che ho creato sia la seguente: go-ldapc è un modulo client di autenticazione LDAP, con una sola API.

E 'il github - sona-tar/go-ldapc.

Problemi correlati