public class DefaultUserAccessor extends DefaultUserAccessor implements UserAccessorInternal
Modifier and Type | Field and Description |
---|---|
static int |
BULK_FETCH_GROUP_BATCH_SIZE |
static int |
BULK_FETCH_USERS_BATCH_SIZE |
defaultGroup
DEFAULT_GROUP_NAMES, GROUP_CONFLUENCE_ADMINS, GROUP_CONFLUENCE_USERS, PROFILE_PICTURE_BUILTIN_PATH
Constructor and Description |
---|
DefaultUserAccessor(com.atlassian.user.configuration.RepositoryAccessor repositoryAccessor,
SpacePermissionManagerInternal spacePermissionManager,
ContentEntityManager contentEntityManager,
NotificationManager notificationManager,
PersonalInformationManager personalInformationManager,
UserChecker userChecker,
AttachmentManager attachmentManager,
com.atlassian.event.api.EventPublisher eventPublisher,
ContentPermissionManager contentPermissionManager,
PermissionManager permissionManager,
FollowManager followManager,
com.atlassian.crowd.embedded.api.CrowdService crowdService,
DisabledUserManager disabledUserManager,
HibernateSessionManager sessionManager,
ConfluenceUserDao confluenceUserDao,
com.atlassian.user.UserManager backingUserManager,
SettingsManager settingsManager,
AvatarProviderAccessor avatarProviderAccessor,
ResourceAccessor resourceAccessor,
org.springframework.transaction.PlatformTransactionManager transactionManager,
UserMentionsContentReindexer userMentionsContentReindexer,
CrowdUserDirectoryHelper crowdUserDirectoryHelper,
SynchronizationManager synchronizationManager) |
Modifier and Type | Method and Description |
---|---|
com.atlassian.user.Group |
addGroup(String groupname)
Adds a group with the specified name.
|
void |
addMembership(com.atlassian.user.Group group,
com.atlassian.user.User user)
Adds the specified user to this group.
|
int |
countLicenseConsumingUsers()
Returns the number of users which have access to use Confluence AND consume a Confluence license.
|
int |
countUnsyncedUsers()
Get a count of all unsynced users in Confluence.
|
com.atlassian.user.Group |
createGroup(String groupname)
Method was added for consistency.
|
ConfluenceUser |
createUser(com.atlassian.user.User userTemplate,
com.atlassian.user.security.password.Credential credential) |
void |
deactivateUser(com.atlassian.user.User user)
Deactivate the specified user, which prevents them logging in.
|
boolean |
exists(String name)
Returns true if a user exists with the given username.
|
List<com.atlassian.user.User> |
findUsersAsList(com.atlassian.user.search.query.Query<com.atlassian.user.User> search) |
List<String> |
getAllDefaultGroupNames()
Deprecated.
Since 5.2. This method is vague and returns a collection containing the result of
Settings.getDefaultUsersGroup() and
UserAccessor.GROUP_CONFLUENCE_ADMINS . Clients should explicitly decide what they need and use that. |
ConfluenceUserPreferences |
getConfluenceUserPreferences(com.atlassian.user.User user) |
Optional<ConfluenceUser> |
getExistingByApiUser(User user)
Retrieve the corresponding ConfluenceUser (if any) for a user, by user key or username
|
ConfluenceUser |
getExistingUserByKey(com.atlassian.sal.api.user.UserKey key)
Returns the user with the specified user key, or
null if the user doesn't exist or the key is
null . |
@Nullable ConfluenceUser |
getExistingUserByPerson(@NonNull Person person)
Retrieve the corresponding ConfluenceUser (if any) for a Person, by username, or user key
|
List<String> |
getGroupNames(com.atlassian.user.User user)
Gets the list of group names representing the groups the passed in user is a member of.
|
List<String> |
getGroupNamesForUserName(String userName)
Gets the list of group names representing the groups the passed in user is a member of.
|
List<com.atlassian.user.Group> |
getGroupsAsList() |
List<com.atlassian.user.Group> |
getGroupsByGroupNames(List<String> groupNames)
Returns a list of Group objects where the names match that of the provided list of group names.
|
ProfilePictureInfo |
getLogoForUser(@Nullable com.atlassian.user.User user) |
List<String> |
getMemberNamesAsList(com.atlassian.user.Group group)
Same as
UserAccessor.getMemberNames(com.atlassian.user.Group) but returns a List of user names as String s
rather than a Pager. |
Iterable<ConfluenceUser> |
getMembers(com.atlassian.user.Group group)
Returns users who are members of the specified group
(either directly or as a member of a nested group).
|
String |
getNewUserDefaultGroupName()
Deprecated.
since 5.2. Use
Settings.getDefaultUsersGroup() via
SettingsManager.getGlobalSettings() . |
com.opensymphony.module.propertyset.PropertySet |
getPropertySet(ConfluenceUser user) |
ConfluenceUser |
getUserByKey(com.atlassian.sal.api.user.UserKey key)
Returns the user with the specified user key, or
null if the user has never existed or the key is
null . |
ConfluenceUser |
getUserByName(String name)
Returns the ConfluenceUser with the supplied user name or null if the user doesn't exist or the supplied name is null.
|
List<String> |
getUserNamesWithConfluenceAccess()
Returns the names of all users with access to use Confluence.
|
ProfilePictureInfo |
getUserProfilePicture(com.atlassian.user.User user)
Retrieve the path to a user's personal picture
|
List<ConfluenceUser> |
getUsersByUserKeys(List<com.atlassian.sal.api.user.UserKey> userKeys)
Returns a list of ConfluenceUser with the supplied UserKeys or an empty list if the users do not exist.
|
com.atlassian.user.search.page.Pager<com.atlassian.user.User> |
getUsersWithConfluenceAccess()
Returns all the users with access to use Confluence.
|
List<com.atlassian.user.Group> |
getWriteableGroups()
Gets all editable groups.
|
boolean |
isCrowdManaged(ConfluenceUser user)
Checks whether or not embedded Crowd manages/has knowledge of a given user
|
boolean |
isDeactivated(String username)
Returns true if the user with the specified username exists and is unable to log in, otherwise false.
|
boolean |
isDeactivated(com.atlassian.user.User user)
Returns true if the user exists and is unable to log in, otherwise false.
|
boolean |
isDeletedUser(ConfluenceUser user)
Check implementation is currently based on assumption that a deleted user is defined as
a user with the same user key and user name.
|
boolean |
isLicensedToAddMoreUsers() |
boolean |
isReadOnly(com.atlassian.user.Group group)
Returns
true if the group cannot be modified or removed. |
boolean |
isReadOnly(com.atlassian.user.User user)
Returns
true if the user cannot be modified or removed. |
boolean |
isSuperUser(com.atlassian.user.User user)
Return true if the user is an all-powerful super-user (member of the confluence-administrators group).
|
boolean |
isUnsyncedUser(ConfluenceUser user)
Checks whether or not a user is unsynced
|
boolean |
isUserRemovable(com.atlassian.user.User user) |
void |
reactivateUser(com.atlassian.user.User user)
Marks the specified user as active, which allows them to log in.
|
void |
removeGroup(com.atlassian.user.Group group)
Removes the specified group.
|
boolean |
removeMembership(com.atlassian.user.Group group,
com.atlassian.user.User user)
Removes the specified user from this group.
|
void |
removeUser(com.atlassian.user.User user)
Removes the specified user.
|
ConfluenceUser |
renameUser(ConfluenceUser user,
String newUsername)
Updates the username of the given user.
|
void |
savePersonalInformation(PersonalInformation newInfo,
PersonalInformation oldInfo) |
com.atlassian.user.search.page.Pager<ConfluenceUser> |
searchUnsyncedUsers(String searchParam)
Returns a list of all users for the given username search parameter that are unsynced: a user whose account has
been disconnected from an external directory, i.e.
|
void |
setUserProfilePicture(com.atlassian.user.User user,
Attachment attachment)
Set the user profile picture to the given attachment.
|
void |
setUserProfilePicture(com.atlassian.user.User user,
String imagePath)
Set the user profile picture to a built-in image.
|
addMembership, addUser, addUser, alterPassword, authenticate, findGroups, findGroups, findUsers, findUsers, getAuthenticator, getEntityQueryParser, getGroup, getGroupCreateIfNecessary, getGroupManager, getGroups, getGroups, getMemberNames, getPropertySet, getPropertySetFactory, getUser, getUserManager, getUserNames, getUserPreferences, getUsers, getUsersByEmail, hasMembership, hasMembership, removeMembership, saveUser
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getPropertySet, getUser
addMembership, addUser, addUser, alterPassword, authenticate, findUsers, getGroup, getGroupCreateIfNecessary, getGroups, getGroups, getMemberNames, getUserNames, getUserPreferences, getUsers, getUsersByEmail, hasMembership, hasMembership, removeMembership, saveUser
public static final int BULK_FETCH_USERS_BATCH_SIZE
public static final int BULK_FETCH_GROUP_BATCH_SIZE
public DefaultUserAccessor(com.atlassian.user.configuration.RepositoryAccessor repositoryAccessor, SpacePermissionManagerInternal spacePermissionManager, ContentEntityManager contentEntityManager, NotificationManager notificationManager, PersonalInformationManager personalInformationManager, UserChecker userChecker, AttachmentManager attachmentManager, com.atlassian.event.api.EventPublisher eventPublisher, ContentPermissionManager contentPermissionManager, PermissionManager permissionManager, FollowManager followManager, com.atlassian.crowd.embedded.api.CrowdService crowdService, DisabledUserManager disabledUserManager, HibernateSessionManager sessionManager, ConfluenceUserDao confluenceUserDao, com.atlassian.user.UserManager backingUserManager, SettingsManager settingsManager, AvatarProviderAccessor avatarProviderAccessor, ResourceAccessor resourceAccessor, org.springframework.transaction.PlatformTransactionManager transactionManager, UserMentionsContentReindexer userMentionsContentReindexer, CrowdUserDirectoryHelper crowdUserDirectoryHelper, SynchronizationManager synchronizationManager)
public boolean isLicensedToAddMoreUsers()
isLicensedToAddMoreUsers
in interface UserAccessor
isLicensedToAddMoreUsers
in class DefaultUserAccessor
public boolean isUserRemovable(com.atlassian.user.User user) throws com.atlassian.user.EntityException
isUserRemovable
in interface UserAccessor
isUserRemovable
in class DefaultUserAccessor
com.atlassian.user.EntityException
public void addMembership(com.atlassian.user.Group group, com.atlassian.user.User user)
addMembership
in interface UserAccessor
addMembership
in class DefaultUserAccessor
InsufficientPrivilegeException
- if the currently logged in user does not have the permissions to add this
user to this group. Check permissions using Permission.EDIT
on PermissionManager
on the group
first.public boolean removeMembership(com.atlassian.user.Group group, com.atlassian.user.User user)
removeMembership
in interface UserAccessor
removeMembership
in class DefaultUserAccessor
InsufficientPrivilegeException
- if the currently logged in user does not have the permissions to remove
this user from this group. Check permissions using Permission.REMOVE
and PermissionManager
on the
group first.public ConfluenceUser getUserByName(String name)
UserAccessor
Note that user name lookups are case-insensitive, so the user you get back may not have exactly the same name as the name passed to this method.
name
- the user name of the userpublic ConfluenceUser getUserByKey(com.atlassian.sal.api.user.UserKey key)
UserAccessor
null
if the user has never existed or the key is
null
.
WARNING: This method can return deleted users. Use
UserAccessor.getExistingUserByKey(com.atlassian.sal.api.user.UserKey)
to get only users that exist.
public boolean isDeletedUser(ConfluenceUser user)
ConfluenceUserDao.isDeletedUser(ConfluenceUser)
isDeletedUser
in interface UserAccessorInternal
user
- the user to checkpublic boolean isUnsyncedUser(ConfluenceUser user)
UserAccessorInternal
isUnsyncedUser
in interface UserAccessorInternal
user
- the user to checkpublic boolean isCrowdManaged(ConfluenceUser user)
UserAccessorInternal
isCrowdManaged
in interface UserAccessorInternal
public ConfluenceUser getExistingUserByKey(com.atlassian.sal.api.user.UserKey key)
UserAccessor
null
if the user doesn't exist or the key is
null
.public boolean exists(String name)
UserAccessor
getUser(name) != null
.name
- username of the userpublic ConfluenceUser createUser(com.atlassian.user.User userTemplate, com.atlassian.user.security.password.Credential credential)
UserAccessor
createUser
in interface UserAccessor
createUser
in class DefaultUserAccessor
public com.atlassian.user.Group addGroup(String groupname)
addGroup
in interface UserAccessor
addGroup
in class DefaultUserAccessor
InsufficientPrivilegeException
- if the current user does not have permission to add this grouppublic com.atlassian.user.Group createGroup(String groupname)
createGroup
in interface UserAccessor
createGroup
in class DefaultUserAccessor
public void removeGroup(com.atlassian.user.Group group)
UserAccessor
removeGroup
in interface UserAccessor
removeGroup
in class DefaultUserAccessor
InsufficientPrivilegeException
- if you do not have sufficient permissions to remove this group. Check
permissions using Permission.REMOVE
and PermissionManager
on the group first.public void removeUser(com.atlassian.user.User user)
Explicitly leaves user content permissions in place, so that removing a user does not automatically make restricted content public
removeUser
in interface UserAccessor
removeUser
in class DefaultUserAccessor
IllegalArgumentException
- if the specified user is nullInsufficientPrivilegeException
- if the currently logged in user doesn't have permissions to remove this
user. Check permissions using Permission.REMOVE
and PermissionManager
on the user first.public List<String> getUserNamesWithConfluenceAccess()
UserAccessor
UserChecker.getNumberOfRegisteredUsers()
, as that caches its results.UserChecker
public com.atlassian.user.search.page.Pager<ConfluenceUser> searchUnsyncedUsers(String searchParam)
UserAccessorInternal
searchUnsyncedUsers
in interface UserAccessorInternal
searchParam
- the username parameter to search bypublic int countLicenseConsumingUsers()
UserAccessor
UserChecker.getNumberOfRegisteredUsers()
to retrieve this info, as that caches its results.UserChecker
public com.atlassian.user.search.page.Pager<com.atlassian.user.User> getUsersWithConfluenceAccess()
getUsersWithConfluenceAccess
in interface UserAccessor
public boolean isDeactivated(String username)
UserAccessor
isDeactivated
in interface UserAccessor
public boolean isDeactivated(com.atlassian.user.User user)
UserAccessor
isDeactivated
in interface UserAccessor
public void savePersonalInformation(PersonalInformation newInfo, PersonalInformation oldInfo)
public void deactivateUser(com.atlassian.user.User user)
UserAccessor
deactivateUser
in interface UserAccessor
public void reactivateUser(com.atlassian.user.User user)
UserAccessor
reactivateUser
in interface UserAccessor
public boolean isReadOnly(com.atlassian.user.User user)
UserAccessor
true
if the user cannot be modified or removed. However, returning false
does
necessarily confirm that the user can be modified or removed. Depending on the user
management configuration, it is not always possible for Confluence to determine whether a user
is read-only.
In an internal-only user management configuration, this method always returns false
.
public boolean isReadOnly(com.atlassian.user.Group group)
UserAccessor
true
if the group cannot be modified or removed. However, returning false
does
necessarily confirm that the group can be modified or removed. Depending on the user
management configuration, it is not always possible for Confluence to determine whether a group
is read-only. Indeed, groups can span across multiple directories with different access control mechanisms,
so it may be possible to modify certain memberships of a group but not others.
In an internal-only user management configuration, this method always returns false
.
public ProfilePictureInfo getLogoForUser(@Nullable com.atlassian.user.User user)
public ProfilePictureInfo getUserProfilePicture(com.atlassian.user.User user)
UserAccessor
user
- the user whose picture to look up.public void setUserProfilePicture(com.atlassian.user.User user, Attachment attachment)
UserAccessor
user
- the user to set a profile picture forattachment
- the attachment containing the user's profile picturepublic void setUserProfilePicture(com.atlassian.user.User user, String imagePath)
UserAccessor
user
- the user to set a profile picture forimagePath
- the image path to that picture.@Deprecated public List<String> getAllDefaultGroupNames()
Settings.getDefaultUsersGroup()
and
UserAccessor.GROUP_CONFLUENCE_ADMINS
. Clients should explicitly decide what they need and use that.UserAccessor
@Deprecated public String getNewUserDefaultGroupName()
Settings.getDefaultUsersGroup()
via
SettingsManager.getGlobalSettings()
.public boolean isSuperUser(com.atlassian.user.User user)
UserAccessor
user
- the user to check for (the null user will always return falsepublic ConfluenceUserPreferences getConfluenceUserPreferences(com.atlassian.user.User user)
public List<String> getGroupNames(com.atlassian.user.User user)
UserAccessor
user
- the user to perform the membership check forpublic List<String> getGroupNamesForUserName(String userName)
UserAccessor
userName
- the name of the user to perform the membership check forpublic List<com.atlassian.user.Group> getGroupsAsList()
public List<String> getMemberNamesAsList(com.atlassian.user.Group group)
UserAccessor
UserAccessor.getMemberNames(com.atlassian.user.Group)
but returns a List of user names as String
s
rather than a Pager.group
- to retrieve the member names fromString
spublic Iterable<ConfluenceUser> getMembers(com.atlassian.user.Group group)
UserAccessor
Elements are generated on demand and it is recommended to fetch only as many elements as are needed.
group
- group to get members forpublic List<com.atlassian.user.Group> getWriteableGroups()
UserAccessor
Group
s that can be edited.public com.opensymphony.module.propertyset.PropertySet getPropertySet(ConfluenceUser user)
public List<com.atlassian.user.User> findUsersAsList(com.atlassian.user.search.query.Query<com.atlassian.user.User> search) throws com.atlassian.user.EntityException
com.atlassian.user.EntityException
public ConfluenceUser renameUser(ConfluenceUser user, String newUsername) throws com.atlassian.user.EntityException
UserAccessor
user
- user to renamenewUsername
- username to use for renamingcom.atlassian.user.impl.EntityValidationException
- if the new username does not meet the username requirementscom.atlassian.user.EntityException
- if the operation is not allowed for the usercom.atlassian.user.impl.DuplicateEntityException
- if the username is already takenpublic List<com.atlassian.user.Group> getGroupsByGroupNames(List<String> groupNames)
UserAccessor
groupNames
- the list group names for which the matching Group objects must be returnedpublic List<ConfluenceUser> getUsersByUserKeys(List<com.atlassian.sal.api.user.UserKey> userKeys)
UserAccessor
userKeys
- the user keyspublic @Nullable ConfluenceUser getExistingUserByPerson(@NonNull Person person)
UserAccessorInternal
getExistingUserByPerson
in interface UserAccessorInternal
person
- the person whose corresponding ConfluenceUser should be retrievedpublic Optional<ConfluenceUser> getExistingByApiUser(User user)
UserAccessorInternal
One of username or userkey must be set on the user object.
This method differs from UserAccessorInternal.getExistingUserByPerson(com.atlassian.confluence.api.model.people.Person)
in its handling of anonymous, it is not
possible to retrieve an anonymous user from this method. When a Option.none() is returned from this method
it indicates that the user was not found in the user repository.
getExistingByApiUser
in interface UserAccessorInternal
user
- the user whose corresponding ConfluenceUser should be retrievedpublic int countUnsyncedUsers()
UserAccessor
Copyright © 2003–2020 Atlassian. All rights reserved.