## 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
`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.

  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 registed 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 - 2013 HSQL Development Group.