Presentation is loading. Please wait.

Presentation is loading. Please wait.

LDAP Integration Michael Schloh von Bennewitz Software Engineer, Europalab

Similar presentations


Presentation on theme: "LDAP Integration Michael Schloh von Bennewitz Software Engineer, Europalab"— Presentation transcript:

1 LDAP Integration Michael Schloh von Bennewitz Software Engineer, Europalab http://michael.schloh.com/

2 2 What is LDAP? ● Mature TCP/IP protocol ● Provides directory access ● Standardized in RFC 4510 ● In most Unix and Linux distros ● Also Blackberry, Android, Iphone

3 3 What is LDAP?

4 4 Typical use cases 1.Telephone directory 2.Corporate address book 3.Employee ID card directory 4.Password directory 5.Recipe collection?...Similar in utility to SQL

5 5 Compare LDAP & SQL LPAP is... ● A protocol ● Tuned for read ● Widespread SQL is... ● A language ● Balanced R/W ● Transactions ● Consistency ● Other services

6 6 Compare LDAP & SQL

7 7 Mainstream use ● Novel SUSE Linux ● MS active directory ● Apple OS X addressbook ● Email address autocompletion ● Kontakt, Evolution, Thunderbird... ● IP hardphones and softphones ● Snom, Polycom, Cisco, Ekiga

8 8 Implementations ● OpenLDAP (GPLv2) ● Mozilla C/Java ● Alcatel-Lucent ● Alot of others

9 9 OpenLDAP helloworld #include int main(int argc, char *argv[]) { ldap_initialize(&ld, "ldaps://name.host.com:636/"); ldap_simple_bind_s(ld, "uid=me,ou=people,dc=host,dc=com", "pwd"); ldap_search_s(ld, "dc=intern,dc=host,dc=com", LDAP_SCOPE_SUBTREE, "(sn=Chambe-Eng)", NULL, 0, &result); dn = ldap_get_dn(ld, ldap_first_entry(ld, result)); printf("dn: %s\n", dn); ldap_memfree(dn); ldap_msgfree(result); ldap_unbind(ld); } $ cc -c helloldap.c && cc helloldap.o -lldap -llber &&./a.out dn: uid=Chambe- Eng,ou=no,ou=people,dc=intern,dc=host,dc=com

10 10 Demonstration(s)

11 11 LDAP glossary Directory: Main data store (like a SQL database) Attribute: Description of data (like a SQL column) Value: The actual data to store (like a SQL value) Schema: Distinguished name: Fixed primary key of any directory entry BER: Basic Encoding Rules (like ASN.1) Ldap.conf: Client configuration Slapd.conf: Server configuration SLAPd: OpenLDAP Server

12 12 Further reading This presentation: http://dev.europalab.com/lect/ldap/ Wikipedia: http://en.wikipedia.org/wiki/LDAP IETF RFCs: http://www.ietf.org/rfc/rfc4510.txt OpenLDAP: http://www.openldap.org/

13 13 Nokia Qt specific Existing QSql: ● Class QSql ● QSqlDatabase To consider QLdap: ● Class QLdap ● QLdapConnection Question: In which Qt module do the LDAP classes belong? ● In their own module ● In libQtSQL

14 14 Table of contents I.LDAP Integration I.What is LDAP? II.Typical use cases III.Compare LDAP and SQL IV.Mainstream acceptance V.Popular implementations VI.OpenLDAP hello world VII.LDAP glossary VIII.Further reading


Download ppt "LDAP Integration Michael Schloh von Bennewitz Software Engineer, Europalab"

Similar presentations


Ads by Google