README.txt in dm-ldap-adapter-0.3.2 vs README.txt in dm-ldap-adapter-0.3.3

- old
+ new

@@ -14,23 +14,25 @@ the usecase for that implementation was using an ldap server for user authentication and authorization. the ldap server is configured to have posixAccounts and posixGroups. on the datamapper side these accounts/groups are modeled with many-to-many relationship. further more the model classes should be in such a way that they can be used with another repository as well, i.e. they carry some ldap related configuration but this is only relevant for the ldap-adapter. === low level ldap library -the ldap library which does the actual ldap protocol stuff is [http://rubyforge.org/projects/net-ldap] and it is hidden behind a facade, so one could replace it with a different library or make it pluggable. +the ldap library which does the actual ldap protocol stuff is [http://rubyforge.org/projects/net-ldap] which is the default. the other ldap library is [http://rubyforge.org/projects/ruby-ldap]. these libraries are behind a facade, if you want to use the ruby-ldap library you need to require the right facade before the ldap-adapter: + require 'ldap/ruby_ldap_facade' + === examples see 'example/posix.rb' for user/group setup works with default installation of openldap on ubuntu (just change your password as needed in the code) the 'example/identity_map.rb' shows the usage of identity maps, see also below. == FEATURES/PROBLEMS: -* the net-ldap has some issues with not closing the connections when an exception/error got raised +* the net-ldap has some issues with not closing the connections when an exception/error got raised, with limit the search result to 126 entries which gets fixed by making consecutives searches and collect the result. -* error from the ldap server are only logged and do not raise any exceptions (to be changed in next release) +* error from the ldap server are only logged and do not raise any exceptions (to be changed in next release) with one exception: when creating a new ldap entry a duplicated entry will raise DataMapper::PersistenceError == SYNOPSIS: === distinguished name (DN) of a model @@ -163,10 +165,10 @@ end === ldap attributes with many values -let's say your LDAP has multiple email values for a users then you can define your resource class like that using the type LdapArray for such multivalue fields +let's say your LDAP has multiple email values for a users then you can define your resource class like that using the type *LdapArray* for such multivalue fields class User include DataMapper::Resource property :id, Serial, :field => "uidnumber" property :login, String, :field => "uid", :unique_index => true