O'Reilly logo

Building Java Enterprise Applications by Brett McLaughlin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

The LDAPManager Class

With the basic principles of manager classes under your belt, you’re ready to look at the LDAPManager class. This chapter involves a rapid run through some LDAP and JNDI concepts that you should already be familiar with; if you get lost in the details of the code samples, pick up Java Enterprise in a Nutshell, which spends a lot of time on JNDI. Once you’ve got a handle on the basics, the code itself should illustrate any tricky issues.

The LDAPManager class belongs in a package structure that mirrors the com.forethought.ejb package: com.forethought.ldap. There are a few constants that can be defined right off the bat. First, the default port for LDAP, 389, is stored, which allows clients to specify only a hostname, and possibly authentication credentials, when connecting, rather than also having to specify the default port when appropriate. Additionally, some basic member variables are defined: one for the hostname to connect to, and one for the port. These variables are used when the manager needs to connect and reconnect to the directory server, or authenticate users when a connection is already in place. Finally, the manager needs to store a connection object itself, a javax.naming.directory.DirContext instance.

Skeletons and Outlines

Using JNDI for directory server access will require a bit of a change in thinking. Everything in JNDI revolves around the idea of a Context; this should seem familiar, as I discussed getting an InitialContext object in

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required