Home Page
>
Java Naming and Directory Interface(TM).
>
Advanced Topics for LDAP Users
Simple
Simple authentication consists of sending the LDAP server the
fully qualified DN of the client (user) and the client's
clear-text password
(see
RFC 2251 and
RFC 2829).
This mechanism has security problems because the
password can be read from the network.
To avoid exposing the password in this way,
you can use the simple authentication mechanism
within an encrypted channel (such as SSL), provided that this is supported
by the LDAP server.
Both the LDAP v2 and v3 support simple authentication.
To use the simple authentication mechanism, you must set the three
authentication environment properties as follows.
-
Context.SECURITY_AUTHENTICATION
.
-
Set to "simple".
-
Context.SECURITY_PRINCIPAL
.
-
Set to the fully qualified DN of the entity that is being authenticated
(e.g., "cn=S. User, ou=NewHires, o=JNDITutorial").
It is of type java.lang.String.
-
Context.SECURITY_CREDENTIALS
.
-
Set to the password of the principal (e.g., "mysecret").
It is of type java.lang.String, char array (char[]),
or byte array (byte[]).
If the password is a java.lang.String or a char array,
then it is encoded using UTF-8 for the LDAP v3
and using ISO-Latin-1 for the LDAP v2 for transmission to the server.
If the password is a byte[],
then it is transmitted as is to the server.
See the
example earlier in this section
that illustrates how to use simple authentication.
Note:
If you supply an empty string, an empty
byte/
char array, or
null to the
Context.SECURITY_CREDENTIALS environment property,
then the authentication mechanism will be
"none".
This is because the LDAP requires the password to be nonempty
for simple authentication. The protocol automatically converts
the authentication to
"none" if a password is not supplied.