LDAP Storage for Archetypes

1,262 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,262
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LDAP Storage for Archetypes

  1. 1. LDAP Storage for Archetypes Ricardo Alves [email_address] Plone Conference 2009 - Budapest
  2. 2. What is LDAP? <ul><li>Protocol
  3. 3. Operations to access directory services </li></ul>
  4. 4. What is a Directory Service? <ul><li>Data backend
  5. 5. Hierarchical information
  6. 6. Data more likely to read than written
  7. 7. Data used by different, unrelated applications </li></ul>
  8. 8. Is LDAP an authentication system?
  9. 9. No!
  10. 10. Can we use it for authentication?
  11. 11. Yes we can!
  12. 12. Bind
  13. 13. LDAP and Plone <ul><li>Several Products: </li><ul><li>LDAPUserFolder
  14. 14. PloneLDAP
  15. 15. LDAPMultiPlugins
  16. 16. … </li></ul><li>LDAP as an authentication backend </li></ul>
  17. 17. LDAP schema dn: cn=johndoe,dc=localhost,dc=localdomain objectClass: inetOrgPerson uid: johndoe cn: johndoe sn: John Doe businessCategory: comerce displayName:Jonh Doe homePhone: +000 111222333 homePostalAddress: Some street somewhere, 111 mail: mobile: +000 222222333
  18. 18. LDAP as content backend <ul><li>Examples: </li><ul><li>Contacts / address book
  19. 19. Members as content (e.g. Membrane)
  20. 20. … </li></ul><li>Problem: </li><ul><li>Doesn't support transactions! </li></ul></ul>
  21. 21. LDAP connection <ul><li>Products.ldapconnection: </li><ul><li>Much like old-style SQL connection objects
  22. 22. (Client-side) transaction support </li></ul></ul>
  23. 23. LDAPStorage for Archetypes <ul><li>archetypes.ldapstorage </li></ul>... StringField( 'name', storage = LDAPStorage( 'cn', # RDN attribute 'name', # At field Id 'cn', # LDAP attribute default_attrs = { 'objectClass': ['inetOrgPerson'], }, required_attrs = ['sn', 'cn'], ), ), ...
  24. 24. Issues <ul><li>Not really transactional
  25. 25. LDAP and AT schema must be compatible </li></ul>
  26. 26. Future <ul><li>New z3 components (connection as an utility)
  27. 27. More testing
  28. 28. Improve storage implementation </li></ul>
  29. 29. References <ul><li>Products.ldapconnection: </li><ul><li>http://pypi.python.org/pypi/Products.ldapconnection </li></ul><li>archetypes.ldapstorage: </li><ul><li>http://pypi.python.org/pypi/archetypes.ldapstorage </li></ul></ul>
  30. 30. Questions? Ricardo Alves [email_address]

×