tigase.db.ldap
Class LdapAuthProvider

java.lang.Object
  extended by tigase.db.ldap.LdapAuthProvider
All Implemented Interfaces:
AuthRepository

public class LdapAuthProvider
extends Object
implements AuthRepository


Field Summary
protected static String[] non_sasl_mechs
           
protected static String[] sasl_mechs
           
static String USER_DN_PATTERN_KEY
          Example: uid=%s,ou=people,dc=xmpp-test,dc=org
 
Fields inherited from interface tigase.db.AuthRepository
DATA_KEY, DIGEST_ID_KEY, DIGEST_KEY, MACHANISM_KEY, PASSWORD_KEY, PROTOCOL_KEY, PROTOCOL_VAL_NONSASL, PROTOCOL_VAL_SASL, REALM_KEY, RESULT_KEY, SERVER_NAME_KEY, USER_ID_KEY, USERNAME_KEY
 
Constructor Summary
LdapAuthProvider()
           
 
Method Summary
 void addUser(tigase.xmpp.BareJID user, String password)
          Describe addUser method here.
 boolean digestAuth(tigase.xmpp.BareJID user, String digest, String id, String alg)
          Deprecated. 
 String getResourceUri()
          getResourceUri method returns database connection string.
 long getUsersCount()
          This method is only used by the server statistics component to report number of registered users.
 long getUsersCount(String domain)
          This method is only used by the server statistics component to report number of registered users for given domain.
 void initRepository(String resource_uri, Map<String,String> params)
          initRepository method is doing initialization for database connection.
 void logout(tigase.xmpp.BareJID user)
          Describe logout method here.
 boolean otherAuth(Map<String,Object> props)
          Describe otherAuth method here.
 boolean plainAuth(tigase.xmpp.BareJID user, String password)
          Deprecated. 
 void queryAuth(Map<String,Object> authProps)
          queryAuth returns mechanisms available for authentication.
 void removeUser(tigase.xmpp.BareJID user)
          Describe removeUser method here.
 void updatePassword(tigase.xmpp.BareJID user, String password)
          Describe updatePassword method here.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

non_sasl_mechs

protected static final String[] non_sasl_mechs

sasl_mechs

protected static final String[] sasl_mechs

USER_DN_PATTERN_KEY

public static final String USER_DN_PATTERN_KEY
Example: uid=%s,ou=people,dc=xmpp-test,dc=org

See Also:
Constant Field Values
Constructor Detail

LdapAuthProvider

public LdapAuthProvider()
Method Detail

addUser

public void addUser(tigase.xmpp.BareJID user,
                    String password)
             throws UserExistsException,
                    TigaseDBException
Description copied from interface: AuthRepository
Describe addUser method here.

Specified by:
addUser in interface AuthRepository
Parameters:
user - a BareJID value
password - a String value
Throws:
UserExistsException - if an error occurs
TigaseDBException - if an error occurs

digestAuth

@Deprecated
public boolean digestAuth(tigase.xmpp.BareJID user,
                                     String digest,
                                     String id,
                                     String alg)
                   throws UserNotFoundException,
                          TigaseDBException,
                          AuthorizationException
Deprecated. 

Description copied from interface: AuthRepository
digestAuth method performs non-sasl, digest authentication as described in non-sasl authentication XEP-0078 For now it is empty and always returns false as I don't have description for database with passwords.

Specified by:
digestAuth in interface AuthRepository
Parameters:
user - a BareJID value of user name
digest - a String value password digest sum
id - a String value session ID used for digest sum calculation.
alg - a String value of algorithm ID used for digest sum calculation.
Returns:
a boolean value true on successful authentication, false on authentication failure.
Throws:
UserNotFoundException - if an given user name is not found in the authentication repository.
TigaseDBException - if an error occurs during during accessing database;
AuthorizationException - if an error occurs during authentication process.

getResourceUri

public String getResourceUri()
Description copied from interface: AuthRepository
getResourceUri method returns database connection string.

Specified by:
getResourceUri in interface AuthRepository
Returns:
a String value of database connection string.

getUsersCount

public long getUsersCount()
Description copied from interface: AuthRepository
This method is only used by the server statistics component to report number of registered users.

Specified by:
getUsersCount in interface AuthRepository
Returns:
a long number of registered users in the repository.

getUsersCount

public long getUsersCount(String domain)
Description copied from interface: AuthRepository
This method is only used by the server statistics component to report number of registered users for given domain.

Specified by:
getUsersCount in interface AuthRepository
Returns:
a long number of registered users in the repository.

initRepository

public void initRepository(String resource_uri,
                           Map<String,String> params)
                    throws DBInitException
Description copied from interface: AuthRepository
initRepository method is doing initialization for database connection. It may also do lazy initialization with database. Connection to database might be established during the first authentication request.

Specified by:
initRepository in interface AuthRepository
Parameters:
resource_uri - a String value of database connection string. The string must also contain database user name and password if required for connection.
Throws:
DBInitException - if an error occurs during access database. It won't happen however as in this method we do simple variable assigment.

logout

public void logout(tigase.xmpp.BareJID user)
            throws UserNotFoundException,
                   TigaseDBException
Description copied from interface: AuthRepository
Describe logout method here.

Specified by:
logout in interface AuthRepository
Parameters:
user - a BareJID value
Throws:
UserNotFoundException - if an error occurs
TigaseDBException - if an error occurs

otherAuth

public boolean otherAuth(Map<String,Object> props)
                  throws UserNotFoundException,
                         TigaseDBException,
                         AuthorizationException
Description copied from interface: AuthRepository
Describe otherAuth method here.

Specified by:
otherAuth in interface AuthRepository
Parameters:
props - a Map value
Returns:
a boolean value
Throws:
UserNotFoundException - if an error occurs
TigaseDBException - if an error occurs
AuthorizationException - if an error occurs

plainAuth

@Deprecated
public boolean plainAuth(tigase.xmpp.BareJID user,
                                    String password)
                  throws UserNotFoundException,
                         TigaseDBException,
                         AuthorizationException
Deprecated. 

Description copied from interface: AuthRepository
plainAuth method performs non-sasl, plain authentication as described in non-sasl authentication XEP-0078.

Specified by:
plainAuth in interface AuthRepository
Parameters:
user - a BareJID value of user name
password - a String value of plain user password.
Returns:
a boolean value true on successful authentication, false on authentication failure.
Throws:
UserNotFoundException - if an given user name is not found in the authentication repository.
TigaseDBException - if an error occurs during during accessing database;
AuthorizationException - if an error occurs during authentication process.

queryAuth

public void queryAuth(Map<String,Object> authProps)
Description copied from interface: AuthRepository
queryAuth returns mechanisms available for authentication.

Specified by:
queryAuth in interface AuthRepository
Parameters:
authProps - a Map value with parameters for authentication.

removeUser

public void removeUser(tigase.xmpp.BareJID user)
                throws UserNotFoundException,
                       TigaseDBException
Description copied from interface: AuthRepository
Describe removeUser method here.

Specified by:
removeUser in interface AuthRepository
Parameters:
user - a BareJID value
Throws:
UserNotFoundException - if an error occurs
TigaseDBException - if an error occurs

updatePassword

public void updatePassword(tigase.xmpp.BareJID user,
                           String password)
                    throws UserNotFoundException,
                           TigaseDBException
Description copied from interface: AuthRepository
Describe updatePassword method here.

Specified by:
updatePassword in interface AuthRepository
Parameters:
user - a BareJID value
password - a String value
Throws:
UserNotFoundException
TigaseDBException - if an error occurs


Copyright © 2012 Tigase. All Rights Reserved.