public class UserManagerImpl extends Object implements UserManager, MultiTenantUserManager, AdministratorGroupsProvider
UserManager.MatchType
Constructor and Description |
---|
UserManagerImpl() |
Modifier and Type | Method and Description |
---|---|
protected void |
appendSubgroups(String groupId,
Set<String> groups,
DocumentModel context) |
Boolean |
areGroupsReadOnly()
Returns true is users referential is read only (ie : LDAP) -> can not add users -> can not delete users.
|
Boolean |
areUsersReadOnly()
Returns true is groups referential is read only (ie : LDAP) -> can not add groups -> can not delete groups.
|
Principal |
authenticate(String name,
String password)
Get a principal object for the given username if the username / password pair is valid, otherwise returns null.
|
protected void |
checkGrouId(DocumentModel groupModel) |
protected void |
checkPasswordValidity(DocumentModel userModel) |
protected void |
checkUserId(DocumentModel userModel) |
boolean |
checkUsernamePassword(String username,
String password)
Check the password for the given username.
|
protected Map<String,Serializable> |
cloneMap(Map<String,Serializable> map) |
protected HashSet<String> |
cloneSet(Set<String> set) |
DocumentModel |
createGroup(DocumentModel groupModel)
Creates a group from given model
|
DocumentModel |
createGroup(DocumentModel groupModel,
DocumentModel context)
Creates a group from given model with the given context.
|
DocumentModel |
createUser(DocumentModel userModel)
Creates user from given model.
|
DocumentModel |
createUser(DocumentModel userModel,
DocumentModel context)
Creates user from given model into the given context document.
|
void |
deleteGroup(DocumentModel groupModel)
Deletes group represented by given model.
|
void |
deleteGroup(DocumentModel groupModel,
DocumentModel context)
Deletes group represented by given model with the given context.
|
void |
deleteGroup(String groupId)
Deletes group with given id.
|
void |
deleteGroup(String groupId,
DocumentModel context)
Deletes group with given id with the given context.
|
void |
deleteUser(DocumentModel userModel)
Deletes user represented by given model.
|
void |
deleteUser(DocumentModel userModel,
DocumentModel context)
Deletes user represented by given model into the given context document.
|
void |
deleteUser(String userId)
Deletes user with given id.
|
void |
deleteUser(String userId,
DocumentModel context)
Deletes user with given id into the given context document.
|
static String |
encodeDigestAuthPassword(String username,
String realm,
String password) |
List<String> |
getAdministratorsGroups()
Returns the list of administrators groups.
|
List<String> |
getAncestorGroups(String groupId)
Returns the ancestor groups of the group with the given id.
|
String |
getAnonymousUserId()
Gets the anonymous user id.
|
DocumentModel |
getBareGroupModel()
Returns a bare group model.
|
DocumentModel |
getBareUserModel()
Returns a bare user model.
|
String |
getDefaultGroup() |
String |
getDigestAuthDirectory()
Gets the Digest Auth directory.
|
protected DocumentModel |
getDigestAuthModel() |
String |
getDigestAuthRealm()
Gets the Digest Auth realm.
|
protected Map<String,String> |
getDirectorySortMap(String descriptorSortField,
String fallBackField) |
NuxeoGroup |
getGroup(String groupName)
Returns the nuxeo group with given name or null if it does not exist.
|
protected NuxeoGroup |
getGroup(String groupName,
DocumentModel context) |
GroupConfig |
getGroupConfig()
Returns the contributed
GroupConfig . |
String |
getGroupDirectoryName()
Gets the group directory name.
|
protected String |
getGroupId(DocumentModel groupModel) |
String |
getGroupIdField()
Returns the group directory id field.
|
List<String> |
getGroupIds()
Returns the list of all groups ids.
|
List<String> |
getGroupIds(DocumentModel context)
Returns the list of all groups ids with the given context.
|
String |
getGroupLabelField()
Returns the group label field.
|
String |
getGroupListingMode() |
String |
getGroupMembersField()
Gets the group members field.
|
DocumentModel |
getGroupModel(String groupName)
Return the group document model with this id or null if group does not exist.
|
DocumentModel |
getGroupModel(String groupIdValue,
DocumentModel context)
Return the group document model with this id concatenated with the directory local config (if not null) or null
if group does not exist.
|
String |
getGroupParentGroupsField()
Gets the group parent-groups field.
|
String |
getGroupSchemaName()
Returns the group directory schema name.
|
Set<String> |
getGroupSearchFields()
Gets the group search fields.
|
List<String> |
getGroupsInGroup(String parentId)
Returns the list of groups that belong to this group.
|
List<String> |
getGroupsInGroup(String parentId,
DocumentModel context)
Returns the list of groups that belong to this group with the given context.
|
protected Map<String,String> |
getGroupSortMap() |
String |
getGroupSubGroupsField()
Gets the group sub-groups field.
|
protected List<String> |
getLeafPermissions(String perm) |
NuxeoPrincipal |
getPrincipal(String username)
Retrieves the principal with the given username or null if it does not exist.
|
NuxeoPrincipal |
getPrincipal(String username,
DocumentModel context)
Retrieves the principal with the given username or null if it does not exist into the given context document.
|
protected NuxeoPrincipal |
getPrincipalUsingCache(String username) |
List<String> |
getTopLevelGroups()
Returns the list of groups that are not members of other groups.
|
List<String> |
getTopLevelGroups(DocumentModel context)
Returns the list of groups that are not members of other groups with the given context.
|
String |
getUserDirectoryName()
Gets the user directory name.
|
String |
getUserEmailField()
Gets the user email field.
|
protected String |
getUserId(DocumentModel userModel) |
String |
getUserIdField()
Returns the user directory id field.
|
List<String> |
getUserIds()
Returns the list of all user ids.
|
List<String> |
getUserIds(DocumentModel context)
Returns the list of all user ids into the given context document.
|
String |
getUserListingMode() |
DocumentModel |
getUserModel(String userName)
Returns the document model representing user with given id or null if it does not exist.
|
DocumentModel |
getUserModel(String userName,
DocumentModel context)
Returns the document model representing user with given id or null if it does not exist into the given context
document.
|
Pattern |
getUserPasswordPattern() |
String |
getUserSchemaName()
Returns the user directory schema name.
|
Set<String> |
getUserSearchFields()
Gets the user search fields, the fields to use when a principal search is done.
|
String[] |
getUsersForPermission(String perm,
ACP acp)
For an ACP, get the list of user that has a permission.
|
String[] |
getUsersForPermission(String perm,
ACP acp,
DocumentModel context)
For an ACP, get the list of user that has a permission into the given context.
|
List<String> |
getUsersInGroup(String groupId)
Returns the list of users that belong to this group.
|
List<String> |
getUsersInGroup(String groupId,
DocumentModel context)
Returns the list of users that belong to this group into the given context
|
List<String> |
getUsersInGroupAndSubGroups(String groupId)
Get users from a group and its subgroups.
|
List<String> |
getUsersInGroupAndSubGroups(String groupId,
DocumentModel context)
Get users from a group and its subgroups into the given context
|
String |
getUserSortField() |
protected Map<String,String> |
getUserSortMap() |
void |
handleEvent(Event event)
An event was received.
|
protected void |
invalidateAllPrincipals() |
protected void |
invalidatePrincipal(String userName) |
protected boolean |
isAnonymousMatching(Map<String,Serializable> filter,
Set<String> fulltext) |
protected NuxeoPrincipal |
makeAnonymousPrincipal() |
protected NuxeoGroup |
makeGroup(DocumentModel groupEntry) |
protected NuxeoPrincipal |
makePrincipal(DocumentModel userEntry) |
protected NuxeoPrincipal |
makePrincipal(DocumentModel userEntry,
boolean anonymous,
boolean isTransient,
List<String> groups) |
protected NuxeoPrincipal |
makePrincipal(DocumentModel userEntry,
boolean anonymous,
List<String> groups) |
protected NuxeoPrincipal |
makeTransientPrincipal(String username) |
protected NuxeoPrincipal |
makeVirtualPrincipal(VirtualUser user) |
protected DocumentModel |
makeVirtualUserEntry(String id,
VirtualUser user) |
protected void |
notifyCore(String userOrGroupId,
String eventId) |
protected void |
notifyCore(String userOrGroupId,
String eventId,
List<String> ancestorGroupIds) |
void |
notifyGroupChanged(String groupName,
String eventId,
List<String> ancestorGroupNames)
Notifies that the given group has changed with the given event:
At the runtime level so that the JaasCacheFlusher listener can make sure the principal cache is reset.
At the core level, passing the
groupName as the "id" property of the fired event.
|
protected void |
notifyRuntime(String userOrGroupName,
String eventId) |
void |
notifyUserChanged(String userName,
String eventId)
Notifies that the given user has changed with the given event:
At the runtime level so that the JaasCacheFlusher listener can make sure the principal cache is reset.
At the core level, passing the
userName as the "id" property of the fired event.
|
protected void |
populateAncestorGroups(String groupId,
List<String> ancestorGroups) |
protected void |
removeVirtualFilters(Map<String,Serializable> filter) |
DocumentModelList |
searchGroups(Map<String,Serializable> filter,
Set<String> fulltext)
Returns groups matching given criteria.
|
DocumentModelList |
searchGroups(Map<String,Serializable> filter,
Set<String> fulltext,
DocumentModel context)
Returns groups matching given criteria with the given context.
|
DocumentModelList |
searchGroups(String pattern)
Search matching groups through their defined search fields
|
DocumentModelList |
searchGroups(String pattern,
DocumentModel context)
Search matching groups through their defined search fields into the given context document.
|
List<NuxeoPrincipal> |
searchPrincipals(String pattern) |
DocumentModelList |
searchUsers(Map<String,Serializable> filter,
Set<String> fulltext)
Returns users matching given criteria.
|
DocumentModelList |
searchUsers(Map<String,Serializable> filter,
Set<String> fulltext,
DocumentModel context)
Returns users matching given criteria and with the given context.
|
DocumentModelList |
searchUsers(Map<String,Serializable> filter,
Set<String> fulltext,
Map<String,String> orderBy,
DocumentModel context)
MULTI-TENANT-IMPLEMENTATION
|
DocumentModelList |
searchUsers(String pattern)
Returns users matching given pattern
|
DocumentModelList |
searchUsers(String pattern,
DocumentModel context)
Returns users matching given pattern with the given context.
|
void |
setConfiguration(UserManagerDescriptor descriptor)
Sets the given configuration on the service.
|
protected void |
setGroupDirectoryName(String groupDirectoryName) |
protected void |
setUserDirectoryName(String userDirectoryName) |
protected void |
setVirtualUsers(Map<String,VirtualUserDescriptor> virtualUsers) |
protected void |
syncDigestAuthPassword(String username,
String password) |
void |
updateGroup(DocumentModel groupModel)
Updates group represented by given model.
|
void |
updateGroup(DocumentModel groupModel,
DocumentModel context)
Updates group represented by given model with the given context.
|
void |
updateUser(DocumentModel userModel)
Updates user represented by given model.
|
void |
updateUser(DocumentModel userModel,
DocumentModel context)
Updates user represented by given model into the given context document.
|
protected boolean |
useCache() |
boolean |
validatePassword(String password) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
notifyGroupChanged
public static final String USERMANAGER_TOPIC
public static final String USERCHANGED_EVENT_ID
public static final String USERCREATED_EVENT_ID
public static final String USERDELETED_EVENT_ID
public static final String USERMODIFIED_EVENT_ID
public static final String GROUPCHANGED_EVENT_ID
public static final String GROUPCREATED_EVENT_ID
public static final String GROUPDELETED_EVENT_ID
public static final String GROUPMODIFIED_EVENT_ID
public static final String DEFAULT_ANONYMOUS_USER_ID
public static final String VIRTUAL_FIELD_FILTER_PREFIX
public static final String INVALIDATE_PRINCIPAL_EVENT_ID
public static final String INVALIDATE_ALL_PRINCIPALS_EVENT_ID
public static final String USER_GROUP_CATEGORY
DocumentEventContext.CATEGORY_PROPERTY_KEY
key of a core event context.public static final String ID_PROPERTY_KEY
public static final String ANCESTOR_GROUPS_PROPERTY_KEY
protected final DirectoryService dirService
protected final CacheService cacheService
protected Cache principalCache
public UserMultiTenantManagement multiTenantManagement
protected UserConfig userConfig
protected GroupConfig groupConfig
protected String userDirectoryName
protected String userSchemaName
protected String userIdField
protected String userEmailField
protected Map<String,UserManager.MatchType> userSearchFields
protected String groupDirectoryName
protected String groupSchemaName
protected String groupIdField
protected String groupLabelField
protected String groupMembersField
protected String groupSubGroupsField
protected String groupParentGroupsField
protected String groupSortField
protected Map<String,UserManager.MatchType> groupSearchFields
protected String defaultGroup
protected List<String> administratorIds
protected List<String> administratorGroups
protected Boolean disableDefaultAdministratorsGroup
protected String userSortField
protected String userListingMode
protected String groupListingMode
protected Pattern userPasswordPattern
protected VirtualUser anonymousUser
protected String digestAuthDirectory
protected String digestAuthRealm
protected final Map<String,VirtualUserDescriptor> virtualUsers
public UserManagerImpl()
public void setConfiguration(UserManagerDescriptor descriptor)
UserManager
setConfiguration
in interface UserManager
descriptor
- the descriptor as parsed from xml, merged from the previous one if it exists.protected void setUserDirectoryName(String userDirectoryName)
public String getUserDirectoryName()
UserManager
getUserDirectoryName
in interface UserManager
public String getUserIdField()
UserManager
getUserIdField
in interface UserManager
public String getUserSchemaName()
UserManager
getUserSchemaName
in interface UserManager
public String getUserEmailField()
UserManager
getUserEmailField
in interface UserManager
public Set<String> getUserSearchFields()
UserManager
getUserSearchFields
in interface UserManager
public Set<String> getGroupSearchFields()
UserManager
getGroupSearchFields
in interface UserManager
protected void setGroupDirectoryName(String groupDirectoryName)
public String getGroupDirectoryName()
UserManager
getGroupDirectoryName
in interface UserManager
public String getGroupIdField()
UserManager
getGroupIdField
in interface UserManager
public String getGroupLabelField()
UserManager
getGroupLabelField
in interface UserManager
public String getGroupSchemaName()
UserManager
getGroupSchemaName
in interface UserManager
public String getGroupMembersField()
UserManager
getGroupMembersField
in interface UserManager
public String getGroupSubGroupsField()
UserManager
getGroupSubGroupsField
in interface UserManager
public String getGroupParentGroupsField()
UserManager
getGroupParentGroupsField
in interface UserManager
public String getUserListingMode()
getUserListingMode
in interface UserManager
public String getGroupListingMode()
getGroupListingMode
in interface UserManager
public String getDefaultGroup()
getDefaultGroup
in interface UserManager
public Pattern getUserPasswordPattern()
getUserPasswordPattern
in interface UserManager
public String getAnonymousUserId()
UserManager
getAnonymousUserId
in interface UserManager
protected void setVirtualUsers(Map<String,VirtualUserDescriptor> virtualUsers)
public boolean checkUsernamePassword(String username, String password)
Authenticator
checkUsernamePassword
in interface UserManager
checkUsernamePassword
in interface Authenticator
username
- the usernamepassword
- the password to checkprotected void syncDigestAuthPassword(String username, String password)
protected DocumentModel getDigestAuthModel()
public static String encodeDigestAuthPassword(String username, String realm, String password)
public String getDigestAuthDirectory()
UserManager
getDigestAuthDirectory
in interface UserManager
public String getDigestAuthRealm()
UserManager
getDigestAuthRealm
in interface UserManager
public boolean validatePassword(String password)
validatePassword
in interface UserManager
protected NuxeoPrincipal makeAnonymousPrincipal()
protected NuxeoPrincipal makeVirtualPrincipal(VirtualUser user)
protected NuxeoPrincipal makeTransientPrincipal(String username)
protected DocumentModel makeVirtualUserEntry(String id, VirtualUser user)
protected NuxeoPrincipal makePrincipal(DocumentModel userEntry)
protected NuxeoPrincipal makePrincipal(DocumentModel userEntry, boolean anonymous, List<String> groups)
protected NuxeoPrincipal makePrincipal(DocumentModel userEntry, boolean anonymous, boolean isTransient, List<String> groups)
protected boolean useCache()
public NuxeoPrincipal getPrincipal(String username)
UserManager
Can build principals for anonymous and virtual users as well as for users defined in the users directory.
getPrincipal
in interface UserManager
protected NuxeoPrincipal getPrincipalUsingCache(String username)
public DocumentModel getUserModel(String userName)
UserManager
getUserModel
in interface UserManager
public DocumentModel getBareUserModel()
UserManager
Can be used for user creation/search screens.
getBareUserModel
in interface UserManager
public NuxeoGroup getGroup(String groupName)
UserManager
getGroup
in interface UserManager
protected NuxeoGroup getGroup(String groupName, DocumentModel context)
public DocumentModel getGroupModel(String groupName)
UserManager
getGroupModel
in interface UserManager
groupName
- the group identifierprotected NuxeoGroup makeGroup(DocumentModel groupEntry)
public List<String> getTopLevelGroups()
UserManager
getTopLevelGroups
in interface UserManager
public List<String> getGroupsInGroup(String parentId)
UserManager
getGroupsInGroup
in interface UserManager
parentId
- the name of the parent group.public List<String> getUsersInGroup(String groupId)
UserManager
getUsersInGroup
in interface UserManager
groupId
- ID of the grouppublic List<String> getUsersInGroupAndSubGroups(String groupId)
UserManager
getUsersInGroupAndSubGroups
in interface UserManager
groupId
- ID of the groupprotected void appendSubgroups(String groupId, Set<String> groups, DocumentModel context)
protected boolean isAnonymousMatching(Map<String,Serializable> filter, Set<String> fulltext)
public List<NuxeoPrincipal> searchPrincipals(String pattern)
searchPrincipals
in interface UserManager
public DocumentModelList searchGroups(String pattern)
UserManager
searchGroups
in interface UserManager
public String getUserSortField()
getUserSortField
in interface UserManager
protected Map<String,String> getUserSortMap()
protected Map<String,String> getGroupSortMap()
protected Map<String,String> getDirectorySortMap(String descriptorSortField, String fallBackField)
protected void notifyCore(String userOrGroupId, String eventId)
protected void notifyCore(String userOrGroupId, String eventId, List<String> ancestorGroupIds)
protected void notifyRuntime(String userOrGroupName, String eventId)
public void notifyUserChanged(String userName, String eventId)
UserManager
userName
as the "id"
property of the fired event.notifyUserChanged
in interface UserManager
protected void invalidatePrincipal(String userName)
public void notifyGroupChanged(String groupName, String eventId, List<String> ancestorGroupNames)
UserManager
groupName
as the "id"
property of the fired event.
The ancestorGroupNames
list must contain the ancestor groups of the given group. It can be computed by
calling UserManager.getAncestorGroups(String)
. It will be passed as the "ancestorGroups"
property of the
fired core event.
notifyGroupChanged
in interface UserManager
protected void invalidateAllPrincipals()
public Boolean areGroupsReadOnly()
UserManager
areGroupsReadOnly
in interface MultiTenantUserManager
areGroupsReadOnly
in interface UserManager
public Boolean areUsersReadOnly()
UserManager
areUsersReadOnly
in interface MultiTenantUserManager
areUsersReadOnly
in interface UserManager
protected void checkGrouId(DocumentModel groupModel)
protected String getGroupId(DocumentModel groupModel)
protected void checkUserId(DocumentModel userModel)
protected String getUserId(DocumentModel userModel)
public DocumentModel createGroup(DocumentModel groupModel)
UserManager
createGroup
in interface UserManager
public DocumentModel createUser(DocumentModel userModel)
UserManager
createUser
in interface UserManager
public void deleteGroup(String groupId)
UserManager
deleteGroup
in interface UserManager
public void deleteGroup(DocumentModel groupModel)
UserManager
deleteGroup
in interface UserManager
public void deleteUser(String userId)
UserManager
deleteUser
in interface UserManager
public void deleteUser(DocumentModel userModel)
UserManager
deleteUser
in interface UserManager
public List<String> getGroupIds()
UserManager
getGroupIds
in interface UserManager
public List<String> getUserIds()
UserManager
getUserIds
in interface UserManager
protected void removeVirtualFilters(Map<String,Serializable> filter)
public DocumentModelList searchGroups(Map<String,Serializable> filter, Set<String> fulltext)
UserManager
searchGroups
in interface UserManager
filter
- filter with field names as keysfulltext
- field names used for fulltext matchpublic DocumentModelList searchUsers(String pattern)
UserManager
Pattern is used to fill a filter and fulltext map according to users search fields configuration. Search is performed on each of these fields (OR).
searchUsers
in interface UserManager
public DocumentModelList searchUsers(Map<String,Serializable> filter, Set<String> fulltext)
UserManager
searchUsers
in interface UserManager
filter
- filter with field names as keysfulltext
- field names used for fulltext matchpublic void updateGroup(DocumentModel groupModel)
UserManager
updateGroup
in interface UserManager
public void updateUser(DocumentModel userModel)
UserManager
updateUser
in interface UserManager
public DocumentModel getBareGroupModel()
UserManager
Can be used for group creation/search screens.
getBareGroupModel
in interface UserManager
public List<String> getAdministratorsGroups()
UserManager
getAdministratorsGroups
in interface AdministratorGroupsProvider
getAdministratorsGroups
in interface UserManager
protected List<String> getLeafPermissions(String perm)
public String[] getUsersForPermission(String perm, ACP acp)
UserManager
getUsersForPermission
in interface UserManager
perm
- the permissionacp
- The access control policy of the documentpublic Principal authenticate(String name, String password)
Authenticator
This method is doing the authentication of the given username / password pair and returns the corresponding principal object if authentication succeeded otherwise returns null.
authenticate
in interface Authenticator
public DocumentModelList searchUsers(Map<String,Serializable> filter, Set<String> fulltext, Map<String,String> orderBy, DocumentModel context)
public List<String> getUsersInGroup(String groupId, DocumentModel context)
MultiTenantUserManager
getUsersInGroup
in interface MultiTenantUserManager
groupId
- ID of the grouppublic DocumentModelList searchUsers(String pattern, DocumentModel context)
MultiTenantUserManager
Pattern is used to fill a filter and fulltext map according to users search fields configuration. Search is performed on each of these fields (OR).
searchUsers
in interface MultiTenantUserManager
public DocumentModelList searchUsers(Map<String,Serializable> filter, Set<String> fulltext, DocumentModel context)
MultiTenantUserManager
searchUsers
in interface MultiTenantUserManager
filter
- filter with field names as keysfulltext
- field names used for fulltext matchpublic List<String> getGroupIds(DocumentModel context)
MultiTenantUserManager
getGroupIds
in interface MultiTenantUserManager
public DocumentModelList searchGroups(Map<String,Serializable> filter, Set<String> fulltext, DocumentModel context)
MultiTenantUserManager
searchGroups
in interface MultiTenantUserManager
filter
- filter with field names as keysfulltext
- field names used for fulltext matchpublic DocumentModel createGroup(DocumentModel groupModel, DocumentModel context) throws GroupAlreadyExistsException
MultiTenantUserManager
createGroup
in interface MultiTenantUserManager
GroupAlreadyExistsException
public DocumentModel getGroupModel(String groupIdValue, DocumentModel context)
MultiTenantUserManager
getGroupModel
in interface MultiTenantUserManager
groupIdValue
- the group identifierpublic DocumentModel getUserModel(String userName, DocumentModel context)
MultiTenantUserManager
getUserModel
in interface MultiTenantUserManager
protected Map<String,Serializable> cloneMap(Map<String,Serializable> map)
public NuxeoPrincipal getPrincipal(String username, DocumentModel context)
MultiTenantUserManager
Can build principals for anonymous and virtual users as well as for users defined in the users directory.
getPrincipal
in interface MultiTenantUserManager
public DocumentModelList searchGroups(String pattern, DocumentModel context)
MultiTenantUserManager
searchGroups
in interface MultiTenantUserManager
public List<String> getUserIds(DocumentModel context)
MultiTenantUserManager
getUserIds
in interface MultiTenantUserManager
public DocumentModel createUser(DocumentModel userModel, DocumentModel context) throws UserAlreadyExistsException
MultiTenantUserManager
createUser
in interface MultiTenantUserManager
UserAlreadyExistsException
protected void checkPasswordValidity(DocumentModel userModel) throws InvalidPasswordException
InvalidPasswordException
public void updateUser(DocumentModel userModel, DocumentModel context)
MultiTenantUserManager
updateUser
in interface MultiTenantUserManager
public void deleteUser(DocumentModel userModel, DocumentModel context)
MultiTenantUserManager
deleteUser
in interface MultiTenantUserManager
public void deleteUser(String userId, DocumentModel context)
MultiTenantUserManager
deleteUser
in interface MultiTenantUserManager
public void updateGroup(DocumentModel groupModel, DocumentModel context)
MultiTenantUserManager
updateGroup
in interface MultiTenantUserManager
public void deleteGroup(DocumentModel groupModel, DocumentModel context)
MultiTenantUserManager
deleteGroup
in interface MultiTenantUserManager
public void deleteGroup(String groupId, DocumentModel context)
MultiTenantUserManager
deleteGroup
in interface MultiTenantUserManager
public List<String> getGroupsInGroup(String parentId, DocumentModel context)
MultiTenantUserManager
getGroupsInGroup
in interface MultiTenantUserManager
parentId
- the name of the parent group.public List<String> getTopLevelGroups(DocumentModel context)
MultiTenantUserManager
getTopLevelGroups
in interface MultiTenantUserManager
public List<String> getUsersInGroupAndSubGroups(String groupId, DocumentModel context)
MultiTenantUserManager
getUsersInGroupAndSubGroups
in interface MultiTenantUserManager
groupId
- ID of the grouppublic String[] getUsersForPermission(String perm, ACP acp, DocumentModel context)
MultiTenantUserManager
getUsersForPermission
in interface MultiTenantUserManager
perm
- the permissionacp
- The access control policy of the documentpublic List<String> getAncestorGroups(String groupId)
UserManager
getAncestorGroups
in interface UserManager
protected void populateAncestorGroups(String groupId, List<String> ancestorGroups)
public GroupConfig getGroupConfig()
UserManager
GroupConfig
.getGroupConfig
in interface UserManager
public void handleEvent(Event event)
EventListener
handleEvent
in interface EventListener
Copyright © 2018 Nuxeo. All rights reserved.