I recently asked our IT department how to gain access to an
addressbook. After carefully explaining that I was on a Linux system
using Python, I got the reply:
"You should use our LDAP. With LDAP you can pull any data you want
from Active Directory. On our network, the serverless binding address
for our LDAP is ldap://dc=...,dc=...,dc=...,dc=..."
with the actual "..." filled in.
I don't know squat about LDAP, but installed the python-ldap deb, and
started glancing at the documentation on-line. I didn't see anything
obvious for working with the URI above. Can I work w/ it? If so, a
short example, please?
Thanx.
Ah, it wasn't clear to me that "localhost:1389" meant serverless.
Armed with that, I'm off to experiment.
Thanks.
On second thought... That didn't help at all. The example just shows
how to parse a URI. I'm trying to connect to a service (if I
understand correctly) that is NOT on my Linux box, but somewhere out
in our IT department's ether, and I do not have host/domain to work
with. I interpreted "serverless binding" to mean that I was
connecting by some means other than host.domain:port. Yes?
localhost:1389 means localhost on port 1389. It has nothing to do with
server-less bind.
Server-less bind is based on a DNS lookup: Let's say you want to query the DNS
server for returning the LDAP server(s) for naming context dc=uninett,dc=no
then invoke on the command-line:
$ host -t srv _ldap._tcp.uninett.no.
_ldap._tcp.uninett.no has SRV record 0 0 389 ldap.uninett.no.
That is also heavily used with MS AD.
Off course you can do this SRV lookup with http://pydns.sf.net which is
actually done in my LDAP client http://web2ldap.de:
http://demo.web2ldap.de:1760/web2ldap?ldap:///dc=uninett,dc=no??one
Ciao, Michael.
--
Michael Str�der
E-Mail: mic...@stroeder.com
http://www.stroeder.com