mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged BRANCHES/DEV/DAVEW/LDAP to HEAD
14587: Added new node service method getNodesWithoutParentAssocsOfType to public-services-security-context.xml (or at least my best guess at it!) 14586: Use US spelling of synchronization in filenames for consistency 14585: Lower the default user registry sync frequency to daily instead of hourly. Now users and groups are pulled over incrementally on login of missing users. 14583: Unit test for ChainingUserRegistrySynchronizer 14571: Migration patch for existing authorities previously held in users store - Uses AuthorityService to recreate authorities in spaces store with new structure 14555: Authority service changes for LDAP sync improvements - Moved sys:authorities container to spaces store - All authorities now stored directly under sys:authorities - Authorities can now be looked up directly by node service - Secondary child associations used to model group relationships - 'Root' groups for UI navigation determined dynamically by node service query - cm:member association used to relate both authority containers and persons to other authorities - New cm:inZone association relates persons and authority containers to synchronization 'zones' stored under sys:zones - Look up of authority zone and all authorities in a zone to enable multi-zone LDAP sync 14524: Dev branch for finishing LDAP zones and upgrade impact git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14588 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -582,6 +582,11 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
|
||||
}
|
||||
|
||||
public NodeRef createPerson(Map<QName, Serializable> properties)
|
||||
{
|
||||
return createPerson(properties, null);
|
||||
}
|
||||
|
||||
public NodeRef createPerson(Map<QName, Serializable> properties, String zone)
|
||||
{
|
||||
String userName = DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_USERNAME));
|
||||
AuthorityType authorityType = AuthorityType.getAuthorityType(userName);
|
||||
@@ -595,12 +600,19 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
|
||||
properties.put(ContentModel.PROP_USERNAME, userName);
|
||||
properties.put(ContentModel.PROP_SIZE_CURRENT, 0L);
|
||||
|
||||
NodeRef personRef = nodeService.createNode(
|
||||
NodeRef personRef = nodeService.createNode(
|
||||
getPeopleContainer(),
|
||||
ContentModel.ASSOC_CHILDREN,
|
||||
QName.createQName("cm", userName.toLowerCase(), namespacePrefixResolver), // Lowercase: ETHREEOH-1431
|
||||
ContentModel.TYPE_PERSON,
|
||||
properties).getChildRef();
|
||||
|
||||
if (zone != null)
|
||||
{
|
||||
// Add the person to an authentication zone (corresponding to an external user registry)
|
||||
// Let's preserve case on this child association
|
||||
nodeService.addChild(authorityService.getOrCreateZone(zone), personRef, ContentModel.ASSOC_IN_ZONE, QName.createQName("cm", userName, namespacePrefixResolver));
|
||||
}
|
||||
return personRef;
|
||||
}
|
||||
|
||||
@@ -630,14 +642,6 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
|
||||
|
||||
public void deletePerson(String userName)
|
||||
{
|
||||
NodeRef personNodeRef = getPersonOrNull(userName);
|
||||
|
||||
// delete the person
|
||||
if (personNodeRef != null)
|
||||
{
|
||||
nodeService.deleteNode(personNodeRef);
|
||||
}
|
||||
|
||||
// remove user from any containing authorities
|
||||
Set<String> containerAuthorities = authorityService.getContainingAuthorities(null, userName, true);
|
||||
for (String containerAuthority : containerAuthorities)
|
||||
@@ -647,6 +651,13 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
|
||||
|
||||
// remove any user permissions
|
||||
permissionServiceSPI.deletePermissions(userName);
|
||||
|
||||
// delete the person
|
||||
NodeRef personNodeRef = getPersonOrNull(userName);
|
||||
if (personNodeRef != null)
|
||||
{
|
||||
nodeService.deleteNode(personNodeRef);
|
||||
}
|
||||
}
|
||||
|
||||
public Set<NodeRef> getAllPeople()
|
||||
|
Reference in New Issue
Block a user