AbstractDatabaseLoginModule
Abstract base class for LoginModules that interact with a
database to retrieve authentication and authorization information.
binding authentication check
This method of authentication works only if the user branch of the DIT (ldap tree)
has an ACI (access control instruction) that allow the access to any user or at least
for the user that logs in.
get the available information about the user
for this LoginModule, the credential can be null which will result in a
binding ldap authentication scenario
roles are also an optional concept if required
Common Annotations Spec section 2.3:
resource-env-ref is for:
- javax.transaction.UserTransaction
- javax.resource.cci.InteractionSpec
- anything else that is not a connection factory
Common Annotations Spec section 2.3:
resource-ref is for:
- javax.sql.DataSource
- javax.jms.ConnectionFactory
- javax.jms.QueueConnectionFactory
- javax.jms.TopicConnectionFactory
- javax.mail.Session
- java.net.URL
- javax.resource.cci.ConnectionFactory
- org.omg.CORBA_2_3.ORB
- any other connection factory defined by a resource adapter
since ldap uses a context bind for valid authentication checking, we override login()
if credentials are not available from the users context or if we are forcing the binding check
then we try a binding authentication check, otherwise if we have the users encoded password then
we can try authentication via that mechanic