Package tigase.db.ldap
Class LdapAuthProvider
- java.lang.Object
-
- tigase.db.ldap.LdapAuthProvider
-
- All Implemented Interfaces:
AuthRepository,Repository
public class LdapAuthProvider extends Object implements AuthRepository
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface tigase.db.AuthRepository
AuthRepository.AccountStatus, AuthRepository.DefaultCredentials, AuthRepository.SingleCredential
-
Nested classes/interfaces inherited from interface tigase.db.Repository
Repository.Meta, Repository.SchemaId
-
-
Field Summary
Fields Modifier and Type Field Description protected static String[]non_sasl_mechsprotected static String[]sasl_mechsstatic StringUSER_DN_PATTERN_KEYExample: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
Constructors Constructor Description LdapAuthProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddUser(BareJID user, String password)AuthRepository.AccountStatusgetAccountStatus(BareJID user)CredentialsgetCredentials(BareJID user, String username)StringgetPassword(BareJID user)StringgetResourceUri()getResourceUrimethod returns database connection string.longgetUsersCount()This method is only used by the server statistics component to report number of registered users.longgetUsersCount(String domain)This method is only used by the server statistics component to report number of registered users for given domain.voidinitRepository(String resource_uri, Map<String,String> params)Deprecated.booleanisUserDisabled(BareJID user)voidloggedIn(BareJID jid)Do some actions on repository, when user logs in.voidlogout(BareJID user)booleanotherAuth(Map<String,Object> props)voidqueryAuth(Map<String,Object> authProps)queryAuthreturns mechanisms available for authentication.voidremoveUser(BareJID user)voidsetAccountStatus(BareJID user, AuthRepository.AccountStatus status)voidsetUserDisabled(BareJID user, Boolean value)voidupdatePassword(BareJID user, String password)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface tigase.db.AuthRepository
getUsernames, isMechanismSupported, removeCredential, setCredentialsCodecs, updateCredential
-
-
-
-
Field Detail
-
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
-
non_sasl_mechs
protected static final String[] non_sasl_mechs
-
sasl_mechs
protected static final String[] sasl_mechs
-
-
Method Detail
-
addUser
public void addUser(BareJID user, String password) throws UserExistsException, TigaseDBException
- Specified by:
addUserin interfaceAuthRepository- Throws:
UserExistsExceptionTigaseDBException
-
getCredentials
public Credentials getCredentials(BareJID user, String username) throws TigaseDBException
- Specified by:
getCredentialsin interfaceAuthRepository- Throws:
TigaseDBException
-
getResourceUri
public String getResourceUri()
Description copied from interface:AuthRepositorygetResourceUrimethod returns database connection string.- Specified by:
getResourceUriin interfaceAuthRepository- Returns:
- a
Stringvalue of database connection string.
-
getUsersCount
public long getUsersCount()
Description copied from interface:AuthRepositoryThis method is only used by the server statistics component to report number of registered users.- Specified by:
getUsersCountin interfaceAuthRepository- Returns:
- a
longnumber of registered users in the repository.
-
getUsersCount
public long getUsersCount(String domain)
Description copied from interface:AuthRepositoryThis method is only used by the server statistics component to report number of registered users for given domain.- Specified by:
getUsersCountin interfaceAuthRepository- Parameters:
domain- for which get the statistics- Returns:
- a
longnumber of registered users in the repository.
-
initRepository
@Deprecated public void initRepository(String resource_uri, Map<String,String> params) throws DBInitException
Deprecated.Description copied from interface:RepositoryMethod is deprecated and should not be user any more.
The method is called to initialize the data repository. Depending on the implementation all the initialization parameters can be passed either viaresource_uriparameter as the database connection string or viaparamsmap if the required repository parameters are more complex or both.- Specified by:
initRepositoryin interfaceRepository- Parameters:
resource_uri- value in most cases representing the database connection string.params- is aMapwith repository properties necessary to initialize and perform all the functions. The initialization parameters are implementation dependent.- Throws:
DBInitException- if there was an error during repository initialization. Some implementations, though, perform so called lazy initialization so even though there is a problem with the underlying repository it may not be signaled through this method call.
-
logout
public void logout(BareJID user) throws UserNotFoundException, TigaseDBException
- Specified by:
logoutin interfaceAuthRepository- Throws:
UserNotFoundExceptionTigaseDBException
-
loggedIn
public void loggedIn(BareJID jid) throws TigaseDBException
Description copied from interface:AuthRepositoryDo some actions on repository, when user logs in. (for example updatelast_login_time)- Specified by:
loggedInin interfaceAuthRepository- Parameters:
jid- JID of logged user.- Throws:
TigaseDBException- if an error occurs
-
otherAuth
public boolean otherAuth(Map<String,Object> props) throws UserNotFoundException, TigaseDBException, AuthorizationException
- Specified by:
otherAuthin interfaceAuthRepository- Throws:
UserNotFoundExceptionTigaseDBExceptionAuthorizationException
-
queryAuth
public void queryAuth(Map<String,Object> authProps)
Description copied from interface:AuthRepositoryqueryAuthreturns mechanisms available for authentication.- Specified by:
queryAuthin interfaceAuthRepository- Parameters:
authProps- aMapvalue with parameters for authentication.
-
removeUser
public void removeUser(BareJID user) throws UserNotFoundException, TigaseDBException
- Specified by:
removeUserin interfaceAuthRepository- Throws:
UserNotFoundExceptionTigaseDBException
-
updatePassword
public void updatePassword(BareJID user, String password) throws UserNotFoundException, TigaseDBException
- Specified by:
updatePasswordin interfaceAuthRepository- Throws:
UserNotFoundExceptionTigaseDBException
-
getPassword
public String getPassword(BareJID user) throws UserNotFoundException, TigaseDBException
- Specified by:
getPasswordin interfaceAuthRepository- Throws:
UserNotFoundExceptionTigaseDBException
-
isUserDisabled
public boolean isUserDisabled(BareJID user) throws UserNotFoundException, TigaseDBException
- Specified by:
isUserDisabledin interfaceAuthRepository- Throws:
UserNotFoundExceptionTigaseDBException
-
setUserDisabled
public void setUserDisabled(BareJID user, Boolean value) throws UserNotFoundException, TigaseDBException
- Specified by:
setUserDisabledin interfaceAuthRepository- Throws:
UserNotFoundExceptionTigaseDBException
-
setAccountStatus
public void setAccountStatus(BareJID user, AuthRepository.AccountStatus status) throws TigaseDBException
- Specified by:
setAccountStatusin interfaceAuthRepository- Throws:
TigaseDBException
-
getAccountStatus
public AuthRepository.AccountStatus getAccountStatus(BareJID user) throws TigaseDBException
- Specified by:
getAccountStatusin interfaceAuthRepository- Throws:
TigaseDBException
-
-