public interface UserAuthenticator
If an application requires its own authentication scheme, then it can implement this interface and register as the authentication scheme that Derby 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.
| Modifier and Type | Method and Description | 
|---|---|
| boolean | authenticateUser(String userName,
                String userPassword,
                String databaseName,
                Properties info)Authenticate a user's credentials. | 
boolean authenticateUser(String userName, String userPassword, String databaseName, Properties info) throws SQLException
jdbc:derby:testdb;user=Fred;password=ScT7dmM2
 then the userName will be Fred and within the Derby user authorization 
 system, Fred becomes a case-insensitive authorization identifier and 
 is known as FRED
jdbc:derby:testdb;user="Fred";password=ScT7dmM2
 then the userName will be "Fred" and within the Derby user authorization
 system, Fred becomes a case-sensitive authorization identifier and is
 known as Fred
 userName - The user's name for the connection request. May be 
                      null.  The user name is passed in as is from the 
                      connection request.
                      Derby will pass in the user name that is set on
                      connection request as is, without changing the 
                      casing and without removing the delimiter quotes 
                      if any.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.SQLException - An exception processing the request, 
            connection request will be denied.  The SQL exception will 
            be returned to the connection attempt.Apache Derby 10.14 API Documentation - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.