AuthFunctionBean (HSQLDB 2.4.0 API)
Date: 2017-04-09

org.hsqldb.auth

## Interface AuthFunctionBean

- All Known Implementing Classes:
    HsqldbSlaveAuthBean, JaasAuthBean, LdapAuthBean

      public interface AuthFunctionBean

  N.b. AuthFunctionBeans are NOT directly usable as HyperSQL Authentication Function methods, they are POJO beans to be managed by AuthBeanMultiplexer (which does have a real HyperSQL Authentication Function static method).
  Since:
    2.0.1
  Author:
    Blaine Simpson (blaine dot simpson at admc dot com)
  See Also:
    `for how these beans are used.`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `String[]` | `authenticate(String userName, String password)` Return a list of authorized roles or null to indicate that the implementation does not intend to produce a specific role list but only to indicate whether to allow access or not.

- - ### Method Detail

    - #### authenticate

          String[] authenticate(String userName,
                                String password)
                         throws Exception

      Return a list of authorized roles or null to indicate that the implementation does not intend to produce a specific role list but only to indicate whether to allow access or not. A return value of String[0] is different from returning null, and means that the user should not be granted any roles.
      Parameters:
        `userName` - String
        `password` - String
      Returns:
        null or String[] according to the contract of HyperSQL authentication function contract, except that the role/schema list is returned as a String[] instead of a java.sql.Array.
      Throws:
        `Exception` - If user should not be allowed access to the specified database. Other registered AuthFunctionBeans will not be attempted.
        `RuntimeException` - Upon system problem. The exception will be logged to the HyperSQL application logger and other registered AuthFunctionBeans (if any) will be attempted.

Copyright © 2001 - 2017 HSQL Development Group.