org.apache.shiro.realm.ldap
Interface LdapContextFactory

All Known Implementing Classes:
DefaultLdapContextFactory, JndiLdapContextFactory

public interface LdapContextFactory

Interface that encapsulates the creation of LdapContext objects that are used by JndiLdapRealms to perform authentication attempts and query for authorization data.

Since:
0.2

Method Summary
 LdapContext getLdapContext(Object principal, Object credentials)
          Creates (or retrieves from a pool) an LdapContext connection bound using the specified principal and credentials.
 LdapContext getLdapContext(String username, String password)
          Deprecated. the getLdapContext(Object, Object) method should be used in all cases to ensure more than String principals and credentials can be used.
 LdapContext getSystemLdapContext()
          Creates (or retrieves from a pool) a LdapContext connection bound using the system account, or anonymously if no system account is configured.
 

Method Detail

getSystemLdapContext

LdapContext getSystemLdapContext()
                                 throws NamingException
Creates (or retrieves from a pool) a LdapContext connection bound using the system account, or anonymously if no system account is configured.

Returns:
a LdapContext bound by the system account, or bound anonymously if no system account is configured.
Throws:
NamingException - if there is an error creating the context.

getLdapContext

@Deprecated
LdapContext getLdapContext(String username,
                                      String password)
                           throws NamingException
Deprecated. the getLdapContext(Object, Object) method should be used in all cases to ensure more than String principals and credentials can be used.

Creates (or retrieves from a pool) a LdapContext connection bound using the username and password specified.

Parameters:
username - the username to use when creating the connection.
password - the password to use when creating the connection.
Returns:
a LdapContext bound using the given username and password.
Throws:
NamingException - if there is an error creating the context.

getLdapContext

LdapContext getLdapContext(Object principal,
                           Object credentials)
                           throws NamingException
Creates (or retrieves from a pool) an LdapContext connection bound using the specified principal and credentials. The format of the principal and credentials are whatever is supported by the underlying LDAP InitialContextFactory implementation. The default Sun (now Oracle) implementation supports anonymous, simple, and SASL-based mechanisms.

This method was added in Shiro 1.1 to address the fact that principals and credentials can be more than just String user DNs and passwords for connecting to LDAP. For example, the credentials can be an X.509 certificate.

Parameters:
principal - the principal to use when acquiring a connection to the LDAP directory
credentials - the credentials (password, X.509 certificate, etc) to use when acquiring a connection to the LDAP directory
Returns:
the acquired LdapContext connection bound using the specified principal and credentials.
Throws:
NamingException - if unable to acquire a connection.
Since:
1.1


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.