org.apache.derby.authentication
Interface UserAuthenticator


public interface UserAuthenticator

The UserAuthenticator interface provides operations to authenticate a user's credentials in order to successfully connect to a database. Any user authentication schemes could be implemented using this interface and registered at start-up time.

If an application requires its own authentication scheme, then it can implement this interface and register as the authentication scheme that Cloudscape should call upon connection requests to the system. See the dcoumentation for the property derby.authentication.provider

A typical example would be to implement user authentication using LDAP, Sun NIS+, or even Windows User Domain, using this interface.

Note: Additional connection attributes can be specified on the database connection URL and/or Properties object on jdbc connection. Values for these attributes can be retrieved at runtime by the (specialized) authentication scheme to further help user authentication, if one needs additional info other than user, password, and database name.


Method Summary
 boolean authenticateUser(java.lang.String userName, java.lang.String userPassword, java.lang.String databaseName, java.util.Properties info)
          Authenticate a user's credentials.
 

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.SQLException
Authenticate a user's credentials.

Parameters:
userName - The user's name for the connection request. May be null.
userPassword - The user's password for the connection request. May be null.
databaseName - The database that the user wants to connect to. Will be null if this is system level authentication.
info - A Properties object that contains additional connection information, that can help to authenticate the user. It has properties of the 'info' object passed as part of DriverManager.getConnection() call and any attributes set on the JDBC URL.
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.


Apache Derby 10.0 API Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.