Class LdapUserAuthenticator

java.lang.Object
org.kawanfw.sql.api.server.auth.LdapUserAuthenticator
All Implemented Interfaces:
UserAuthenticator

public class LdapUserAuthenticator
extends Object
implements UserAuthenticator
A concrete UserAuthenticator that allows zero-code remote client (username, password) authentication against a LDAP server.

The LDAP server that authenticates the users is defined in the ldapUserAuthenticator.url property in the aceql-server.properties file.
Since:
5.0
Author:
Nicolas de Pomereu
  • Constructor Details

    • LdapUserAuthenticator

      public LdapUserAuthenticator()
  • Method Details

    • login

      public boolean login​(String username, char[] password, String database, String ipAddress) throws IOException, SQLException
      Description copied from interface: UserAuthenticator
      Allows to authenticate the remote (username, password) couple sent by the client side.

      The AceQL HTTP Server will call the method in order to grant or not client access.

      Typical usage would be to check the (username, password) couple against a LDAP server or against a SSH server, etc. The method allows to retrieve:

      • The name of the database to which the client wants to connect.
      • The IP address of the client.
      Specified by:
      login in interface UserAuthenticator
      Parameters:
      username - the username sent by the client
      password - the password to connect to the server
      database - the database name to which the client wants to connect
      ipAddress - the IP address of the client user
      Returns:
      true if the (username, password) couple is correct/valid. If false, the client side will not be authorized to send any command.
      Throws:
      IOException - if an IOException occurs
      SQLException - if a SQLException occurs