Copyright (c) 2001-2002, Junzo SATO. All rights reserved.
Jun 9th 2002
May 19th 2002
Aug 17th 2001
J/Link Mathmatica package is loaded.
![[Graphics:Images/MathLDAP_OSX_gr_1.gif]](Images/MathLDAP_OSX_gr_1.gif)
![[Graphics:Images/MathLDAP_OSX_gr_2.gif]](Images/MathLDAP_OSX_gr_2.gif)
![[Graphics:Images/MathLDAP_OSX_gr_3.gif]](Images/MathLDAP_OSX_gr_3.gif)
![[Graphics:Images/MathLDAP_OSX_gr_5.gif]](Images/MathLDAP_OSX_gr_5.gif)
Java archives of Netscape LDAP SDK 4.1:
ldapfilt.jar
ldapjdk.jar
ldapsp.jar
are installed to the directory
Macintosh\ HD/Library/Java/Extensions/ on MacOS X,
[JDK]/jre/lib/ext/ on Linux or Windows
![[Graphics:Images/MathLDAP_OSX_gr_6.gif]](Images/MathLDAP_OSX_gr_6.gif)
![[Graphics:Images/MathLDAP_OSX_gr_8.gif]](Images/MathLDAP_OSX_gr_8.gif)
![[Graphics:Images/MathLDAP_OSX_gr_9.gif]](Images/MathLDAP_OSX_gr_9.gif)
A connection to the LDAP server is established. By default, LDAP server uses port number 389.
Connection to the LDAP server is created. In this example, localhost is used for convenience.
![[Graphics:Images/MathLDAP_OSX_gr_10.gif]](Images/MathLDAP_OSX_gr_10.gif)
![[Graphics:Images/MathLDAP_OSX_gr_13.gif]](Images/MathLDAP_OSX_gr_13.gif)
Tools are loaded and defined.
![[Graphics:Images/MathLDAP_OSX_gr_16.gif]](Images/MathLDAP_OSX_gr_16.gif)
![[Graphics:Images/MathLDAP_OSX_gr_18.gif]](Images/MathLDAP_OSX_gr_18.gif)
![[Graphics:Images/MathLDAP_OSX_gr_19.gif]](Images/MathLDAP_OSX_gr_19.gif)
![[Graphics:Images/MathLDAP_OSX_gr_20.gif]](Images/MathLDAP_OSX_gr_20.gif)
The above result is the same as the one that LDAP Editor/Browser has retrieved.
![[Graphics:Images/MathLDAP_OSX_gr_27.gif]](Images/MathLDAP_OSX_gr_27.gif)
![[Graphics:Images/MathLDAP_OSX_gr_28.gif]](Images/MathLDAP_OSX_gr_28.gif)
![[Graphics:Images/MathLDAP_OSX_gr_29.gif]](Images/MathLDAP_OSX_gr_29.gif)
Null password for authentication means anonymous connection.
![[Graphics:Images/MathLDAP_OSX_gr_30.gif]](Images/MathLDAP_OSX_gr_30.gif)
![[Graphics:Images/MathLDAP_OSX_gr_38.gif]](Images/MathLDAP_OSX_gr_38.gif)
![[Graphics:Images/MathLDAP_OSX_gr_40.gif]](Images/MathLDAP_OSX_gr_40.gif)
![[Graphics:Images/MathLDAP_OSX_gr_42.gif]](Images/MathLDAP_OSX_gr_42.gif)
![[Graphics:Images/MathLDAP_OSX_gr_44.gif]](Images/MathLDAP_OSX_gr_44.gif)
![[Graphics:Images/MathLDAP_OSX_gr_90.gif]](Images/MathLDAP_OSX_gr_90.gif)
![[Graphics:Images/MathLDAP_OSX_gr_92.gif]](Images/MathLDAP_OSX_gr_92.gif)
![[Graphics:Images/MathLDAP_OSX_gr_138.gif]](Images/MathLDAP_OSX_gr_138.gif)
![[Graphics:Images/MathLDAP_OSX_gr_139.gif]](Images/MathLDAP_OSX_gr_139.gif)
The NEW entry is added successfully. For simplicity, new entry is added under the ou=Special Users directory.
![[Graphics:Images/MathLDAP_OSX_gr_140.gif]](Images/MathLDAP_OSX_gr_140.gif)
![[Graphics:Images/MathLDAP_OSX_gr_141.gif]](Images/MathLDAP_OSX_gr_141.gif)
AddAttribute[conn,dn,attrname,data] adds an attribute to the existing entry. If the data is exactly same value as the existing attribute, it fails.
![[Graphics:Images/MathLDAP_OSX_gr_142.gif]](Images/MathLDAP_OSX_gr_142.gif)
![[Graphics:Images/MathLDAP_OSX_gr_143.gif]](Images/MathLDAP_OSX_gr_143.gif)
New attribute (multivalued attribute) is added successfully.
![[Graphics:Images/MathLDAP_OSX_gr_144.gif]](Images/MathLDAP_OSX_gr_144.gif)
![[Graphics:Images/MathLDAP_OSX_gr_145.gif]](Images/MathLDAP_OSX_gr_145.gif)
![[Graphics:Images/MathLDAP_OSX_gr_146.gif]](Images/MathLDAP_OSX_gr_146.gif)
![[Graphics:Images/MathLDAP_OSX_gr_147.gif]](Images/MathLDAP_OSX_gr_147.gif)
Attribute(s) named "mail" is replaced with new data.
![[Graphics:Images/MathLDAP_OSX_gr_148.gif]](Images/MathLDAP_OSX_gr_148.gif)
![[Graphics:Images/MathLDAP_OSX_gr_149.gif]](Images/MathLDAP_OSX_gr_149.gif)
It's possible to replace attribute(s) with multivalues.
![[Graphics:Images/MathLDAP_OSX_gr_150.gif]](Images/MathLDAP_OSX_gr_150.gif)
The following figure shows the entry after replacement.
![[Graphics:Images/MathLDAP_OSX_gr_151.gif]](Images/MathLDAP_OSX_gr_151.gif)
![[Graphics:Images/MathLDAP_OSX_gr_152.gif]](Images/MathLDAP_OSX_gr_152.gif)
![[Graphics:Images/MathLDAP_OSX_gr_153.gif]](Images/MathLDAP_OSX_gr_153.gif)
![[Graphics:Images/MathLDAP_OSX_gr_154.gif]](Images/MathLDAP_OSX_gr_154.gif)
Surely removed :-)
![[Graphics:Images/MathLDAP_OSX_gr_155.gif]](Images/MathLDAP_OSX_gr_155.gif)
![[Graphics:Images/MathLDAP_OSX_gr_156.gif]](Images/MathLDAP_OSX_gr_156.gif)
![[Graphics:Images/MathLDAP_OSX_gr_157.gif]](Images/MathLDAP_OSX_gr_157.gif)
![[Graphics:Images/MathLDAP_OSX_gr_158.gif]](Images/MathLDAP_OSX_gr_158.gif)
Two mails are listed as the result of first modification. The telephoneNumber is removed by replacing old attribute with null. One more mail is added by the final modification.
![[Graphics:Images/MathLDAP_OSX_gr_159.gif]](Images/MathLDAP_OSX_gr_159.gif)
![[Graphics:Images/MathLDAP_OSX_gr_160.gif]](Images/MathLDAP_OSX_gr_160.gif)
The attribute of the entry can maintain binary record directly.
![[Graphics:Images/MathLDAP_OSX_gr_161.gif]](Images/MathLDAP_OSX_gr_161.gif)
![[Graphics:Images/MathLDAP_OSX_gr_162.gif]](Images/MathLDAP_OSX_gr_162.gif)
![[Graphics:Images/MathLDAP_OSX_gr_163.gif]](Images/MathLDAP_OSX_gr_163.gif)
![[Graphics:Images/MathLDAP_OSX_gr_165.gif]](Images/MathLDAP_OSX_gr_165.gif)
![[Graphics:Images/MathLDAP_OSX_gr_167.gif]](Images/MathLDAP_OSX_gr_167.gif)
Windows
![[Graphics:Images/MathLDAP_OSX_gr_169.gif]](Images/MathLDAP_OSX_gr_169.gif)
MacOS X
![[Graphics:Images/MathLDAP_OSX_gr_170.gif]](Images/MathLDAP_OSX_gr_170.gif)
![[Graphics:Images/MathLDAP_OSX_gr_172.gif]](Images/MathLDAP_OSX_gr_172.gif)
![[Graphics:Images/MathLDAP_OSX_gr_174.gif]](Images/MathLDAP_OSX_gr_174.gif)
The data is stored to the entry.
![[Graphics:Images/MathLDAP_OSX_gr_176.gif]](Images/MathLDAP_OSX_gr_176.gif)
Now we can see the replaced data. Look at the size of the binary data.
![[Graphics:Images/MathLDAP_OSX_gr_177.gif]](Images/MathLDAP_OSX_gr_177.gif)
![[Graphics:Images/MathLDAP_OSX_gr_178.gif]](Images/MathLDAP_OSX_gr_178.gif)
![[Graphics:Images/MathLDAP_OSX_gr_179.gif]](Images/MathLDAP_OSX_gr_179.gif)
The contents of the data is exactly same before and after the operation.
![[Graphics:Images/MathLDAP_OSX_gr_181.gif]](Images/MathLDAP_OSX_gr_181.gif)
NOTE:
The jpegPhoto can store binary data whose size is less than 128KB.
Connection to the LDAP server is closed.This is essentially the same as ldapconn@finalize[].
![[Graphics:Images/MathLDAP_OSX_gr_183.gif]](Images/MathLDAP_OSX_gr_183.gif)
![[Graphics:Images/MathLDAP_OSX_gr_184.gif]](Images/MathLDAP_OSX_gr_184.gif)
![[Graphics:Images/MathLDAP_OSX_gr_186.gif]](Images/MathLDAP_OSX_gr_186.gif)
[1] Rob Weltman and Tony Dahbura, "LDAP Programming with Java", Addison-Wesley, 2000