Class SshUserAuthenticator

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

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

The SSH server that authenticates the users is defined in the sshUserAuthenticator.host property in the aceql-server.properties file.
Since:
5.0
Author:
Nicolas de Pomereu
See Also:
UserAuthenticator
  • Constructor Details

    • SshUserAuthenticator

      public SshUserAuthenticator()
  • 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 client is authenticated by the method. If false, the client side will not be authorized to send any command.
      Throws:
      IOException - if an IOException occurs
      SQLException - if a SQLException occurs