org.apache.derby.impl.jdbc.authentication
Class LDAPAuthenticationSchemeImpl
- java.lang.Object
-
- org.apache.derby.impl.jdbc.authentication.JNDIAuthenticationSchemeBase
-
- org.apache.derby.impl.jdbc.authentication.LDAPAuthenticationSchemeImpl
-
- All Implemented Interfaces:
- UserAuthenticator
public final class LDAPAuthenticationSchemeImpl extends JNDIAuthenticationSchemeBase
This is the Derby LDAP authentication scheme implementation. JNDI system/environment properties can be set at the database level as database properties. They will be picked-up and set in the JNDI initial context if any are found. We do connect first to the LDAP server in order to retrieve the user's distinguished name (DN) and then we reconnect and try to authenticate with the user's DN and passed-in password. In 2.0 release, we first connect to do a search (user full DN lookup). This initial lookup can be done through anonymous bind or using special LDAP search credentials that the user may have configured on the LDAP settings for the database or the system. It is a typical operation with LDAP servers where sometimes it is hard to tell/guess in advance a users' full DN's. NOTE: In a future release, we will cache/maintain the user DN within the the Derby database or system to avoid the initial lookup. Also note that LDAP search/retrieval operations are usually very fast. The default LDAP url is ldap:/// (ldap://localhost:389/)- See Also:
UserAuthenticator
-
-
Constructor Summary
Constructors Constructor and Description LDAPAuthenticationSchemeImpl(JNDIAuthenticationService as, java.util.Properties dbProperties)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleanauthenticateUser(java.lang.String userName, java.lang.String userPassword, java.lang.String databaseName, java.util.Properties info)Authenticate the passed-in user's credentials.
-
-
-
Constructor Detail
-
LDAPAuthenticationSchemeImpl
public LDAPAuthenticationSchemeImpl(JNDIAuthenticationService as, java.util.Properties dbProperties)
-
-
Method Detail
-
authenticateUser
public boolean authenticateUser(java.lang.String userName, java.lang.String userPassword, java.lang.String databaseName, java.util.Properties info) throws java.sql.SQLExceptionAuthenticate the passed-in user's credentials. We authenticate against a LDAP Server.- Parameters:
userName- The user's name used to connect to JBMS systemuserPassword- The user's password used to connect to JBMS systemdatabaseName- The database which the user wants to connect to.info- Additional jdbc connection info.- Returns:
- false if the connection request should be denied, true if the connection request should proceed. If false is returned the connection attempt will receive a SQLException with SQL State 08004.
- Throws:
java.sql.SQLException- An exception processing the request, connection request will be denied. The SQL exception will be returned to the connection attempt.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG