• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
952
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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