public class CachingUserManager extends Object implements UserManager
| Constructor and Description |
|---|
CachingUserManager(SecurityServerClient securityServerClient,
BasicCache basicCache) |
| Modifier and Type | Method and Description |
|---|---|
void |
addAllUsers(Collection<SOAPPrincipalWithCredential> users)
Adds all users to Crowd.
|
SOAPPrincipal |
addUser(SOAPPrincipal user,
PasswordCredential credential)
Adds a user to Crowd.
|
List |
getAllUserNames()
This optimises the background getAllUserNames() call.
|
SOAPPrincipal |
getUser(String userName)
Given a
userName, fetches the user's details, either from cache or from the Crowd server. |
SOAPPrincipal |
getUserFromToken(String token)
Note: the lookup is not currently cached - it will always hit the server.
|
SOAPPrincipal |
getUserWithAttributes(String userName)
Given a
userName, fetches the user's details and their associated attributes, either from cache or from the Crowd server. |
boolean |
isUser(String userName)
With JIRA we're guaranteed that if there are any names in the user list, all the names are in the user list.
|
void |
removeUser(String userName)
Removes a user from Crowd.
|
List |
searchUsers(SearchRestriction[] restrictions)
Searches the list of all available users based on the passed-in
restrictions and returns a list
of users that match. |
void |
updatePassword(String userName,
PasswordCredential credential)
Changes the password for the user specified by
userName. |
void |
updateUser(SOAPPrincipal user)
Updates a user's details in Crowd.
|
public CachingUserManager(SecurityServerClient securityServerClient, BasicCache basicCache)
public SOAPPrincipal getUser(String userName) throws RemoteException, InvalidAuthorizationTokenException, UserNotFoundException, InvalidAuthenticationException
UserManageruserName, fetches the user's details, either from cache or from the Crowd server.getUser in interface UserManageruserName - The user's identifierRemoteException - A communication error occurred - the Crowd server may not be available.InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.UserNotFoundException - Could not find the user.InvalidAuthenticationException - if the application name/password combination is invalidpublic SOAPPrincipal getUserWithAttributes(String userName) throws RemoteException, InvalidAuthorizationTokenException, UserNotFoundException, InvalidAuthenticationException
UserManageruserName, fetches the user's details and their associated attributes, either from cache or from the Crowd server.getUserWithAttributes in interface UserManageruserName - The user's identifierRemoteException - A communication error occurred - the Crowd server may not be available.InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.UserNotFoundException - Could not find the user.InvalidAuthenticationException - if the application name/password combination is invalidpublic SOAPPrincipal getUserFromToken(String token) throws RemoteException, InvalidAuthorizationTokenException, InvalidTokenException, InvalidAuthenticationException
getUserFromToken in interface UserManagertoken - The token presented by the client browser to the webserver.RemoteException - A communication error occurred - the Crowd server may not be available.InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.InvalidTokenException - The token presented was not a valid Crowd token.InvalidAuthenticationException - if the application name/password combination is invalidpublic List searchUsers(SearchRestriction[] restrictions) throws RemoteException, InvalidAuthorizationTokenException, InvalidAuthenticationException
UserManagerrestrictions and returns a list
of users that match.searchUsers in interface UserManagerrestrictions - search restrictionsList of SOAPPrincipals that match the criteria.RemoteException - A communication error occurred - the Crowd server may not be available.InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.InvalidAuthenticationException - if the application name/password combination is invalidpublic SOAPPrincipal addUser(SOAPPrincipal user, PasswordCredential credential) throws RemoteException, ApplicationPermissionException, InvalidCredentialException, InvalidUserException, InvalidAuthorizationTokenException, InvalidAuthenticationException
UserManageraddUser in interface UserManageruser - The user to add to Crowdcredential - The credential (eg. password) for the user. May be null.SOAPPrincipal, as returned by the Crowd server.RemoteException - A communication error occurred - the Crowd server may not be available.ApplicationPermissionException - The application does not have rights to add users.InvalidCredentialException - The credentials were malformed or did not meet directory complexity
requirements.InvalidUserException - The user was malformed or already exists.InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.InvalidAuthenticationException - if the application name/password combination is invalidpublic void addAllUsers(Collection<SOAPPrincipalWithCredential> users) throws InvalidAuthorizationTokenException, BulkAddFailedException, RemoteException, ApplicationPermissionException, InvalidAuthenticationException
UserManageraddAllUsers in interface UserManagerusers - The users to add to CrowdInvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.BulkAddFailedException - Thrown if it failed to create a user in of the directories.RemoteException - A communication error occurred - the Crowd server may not be available.ApplicationPermissionException - The application does not have rights to add users.InvalidAuthenticationException - if the application name/password combination is invalidpublic void updateUser(SOAPPrincipal user) throws RemoteException, ApplicationPermissionException, InvalidAuthorizationTokenException, UserNotFoundException, InvalidAuthenticationException
UserManagerupdateUser in interface UserManageruser - The user to updateRemoteException - A communication error occurred - the Crowd server may not be available.ApplicationPermissionException - This application does not have the rights to update the user.InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.UserNotFoundException - The user to update could not be found.InvalidAuthenticationException - if the application name/password combination is invalidpublic void updatePassword(String userName, PasswordCredential credential) throws RemoteException, InvalidAuthorizationTokenException, InvalidCredentialException, ApplicationPermissionException, UserNotFoundException, InvalidAuthenticationException
UserManageruserName.updatePassword in interface UserManageruserName - The identifier of the usercredential - The new credentials for the user.RemoteException - A communication error occurred - the Crowd server may not be available.InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.InvalidCredentialException - The credentials were malformed or did not meet directory complexity
requirements.ApplicationPermissionException - This application does not have the rights to update the user's password.UserNotFoundException - The user could not be found in any directory mapped to this application.InvalidAuthenticationException - if the application name/password combination is invalidpublic void removeUser(String userName) throws RemoteException, InvalidAuthorizationTokenException, ApplicationPermissionException, UserNotFoundException, InvalidAuthenticationException
UserManagerremoveUser in interface UserManageruserName - The name of the user to remove.RemoteException - A communication error occurred - the Crowd server may not be available.InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.ApplicationPermissionException - This application is not allowed to remove this user.UserNotFoundException - The user to remove could not be found.InvalidAuthenticationException - if the application name/password combination is invalidpublic List getAllUserNames() throws RemoteException, InvalidAuthorizationTokenException, InvalidAuthenticationException
The optimisation reduces the number of directory scans to one. A huge benefit, particularly with Active Directory.
getAllUserNames in interface UserManagerList of Strings that list all the users visible to this application.RemoteException - A communication error occurred - the Crowd server may not be available.InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.InvalidAuthenticationException - if the application name/password combination is invalidpublic boolean isUser(String userName) throws RemoteException, InvalidAuthorizationTokenException, InvalidAuthenticationException
isUser in interface UserManageruserName - name of the userRemoteException - A communication error occurred - the Crowd server may not be available.InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.InvalidAuthenticationException - if the application name/password combination is invalidCopyright © 2017 Atlassian. All rights reserved.