diff --git a/pom.xml b/pom.xml index da40118cd3..e42ae7c8aa 100644 --- a/pom.xml +++ b/pom.xml @@ -38,7 +38,7 @@ 6.2 7.5 6.1 - 8.20 + 8.22 7.1 1.1 1.0.9 diff --git a/src/main/java/org/alfresco/filesys/repo/ContentDiskDriver.java b/src/main/java/org/alfresco/filesys/repo/ContentDiskDriver.java index d2c3804a38..9a2e1f1021 100644 --- a/src/main/java/org/alfresco/filesys/repo/ContentDiskDriver.java +++ b/src/main/java/org/alfresco/filesys/repo/ContentDiskDriver.java @@ -667,7 +667,7 @@ public class ContentDiskDriver extends AlfrescoTxDiskDriver implements DiskInter // Use the system user as the authenticated context for the filesystem initialization AuthenticationUtil.pushAuthentication(); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // Start the transaction diff --git a/src/main/java/org/alfresco/repo/admin/patch/impl/SiteLoadPatch.java b/src/main/java/org/alfresco/repo/admin/patch/impl/SiteLoadPatch.java index 5bb89afa07..740e26f397 100644 --- a/src/main/java/org/alfresco/repo/admin/patch/impl/SiteLoadPatch.java +++ b/src/main/java/org/alfresco/repo/admin/patch/impl/SiteLoadPatch.java @@ -264,7 +264,7 @@ public class SiteLoadPatch extends AbstractPatch ); // At this point we can go back to being the system - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // Setup the Importer Bootstrap Beans for(ImporterBootstrap bootstrap : new ImporterBootstrap[] { spacesBootstrap, usersBootstrap }) diff --git a/src/main/java/org/alfresco/repo/imap/ImapServiceImpl.java b/src/main/java/org/alfresco/repo/imap/ImapServiceImpl.java index 0a95256eb5..74b6d2678a 100644 --- a/src/main/java/org/alfresco/repo/imap/ImapServiceImpl.java +++ b/src/main/java/org/alfresco/repo/imap/ImapServiceImpl.java @@ -470,7 +470,7 @@ public class ImapServiceImpl implements ImapService, OnRestoreNodePolicy, OnCrea for (String mountPointName : imapConfigMountPoints.keySet()) { result.addAll(listMailboxes(new AlfrescoImapUser(null, AuthenticationUtil - .getSystemUserName(), null), mountPointName + "*", false)); + .getAdminUserName(), null), mountPointName + "*", false)); } return result; diff --git a/src/main/java/org/alfresco/repo/security/authentication/HashPasswordTransactionListener.java b/src/main/java/org/alfresco/repo/security/authentication/HashPasswordTransactionListener.java index 61514415b6..fd0a0fed41 100644 --- a/src/main/java/org/alfresco/repo/security/authentication/HashPasswordTransactionListener.java +++ b/src/main/java/org/alfresco/repo/security/authentication/HashPasswordTransactionListener.java @@ -94,7 +94,7 @@ public class HashPasswordTransactionListener implements TransactionListener public Void execute() throws Throwable { AuthenticationUtil.pushAuthentication(); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); try { if (logger.isDebugEnabled()) diff --git a/src/main/java/org/alfresco/repo/security/person/PersonServiceImpl.java b/src/main/java/org/alfresco/repo/security/person/PersonServiceImpl.java index 036ae098a9..2657c268d2 100644 --- a/src/main/java/org/alfresco/repo/security/person/PersonServiceImpl.java +++ b/src/main/java/org/alfresco/repo/security/person/PersonServiceImpl.java @@ -523,7 +523,12 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per */ public boolean personExists(String caseSensitiveUserName) { - NodeRef person = getPersonOrNullImpl(caseSensitiveUserName); + if (isBuiltInAuthorities(caseSensitiveUserName)) + { + return true; + } + + NodeRef person = getPersonOrNullImpl(caseSensitiveUserName); if (person != null) { // re: THOR-293 @@ -531,7 +536,21 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per } return false; } - + + private boolean isBuiltInAuthorities(String caseSensitiveUserName) + { + if (EqualsHelper.nullSafeEquals(caseSensitiveUserName, AuthenticationUtil.getSystemUserName())) + { + return true; + } + else if (EqualsHelper.nullSafeEquals(caseSensitiveUserName, AuthenticationUtil.getGuestUserName())) + { + return true; + } + return false; + + } + private NodeRef getPersonOrNullImpl(String searchUserName) { Set allRefs = getFromCache(searchUserName); diff --git a/src/main/java/org/alfresco/repo/security/person/PersonServiceLoader.java b/src/main/java/org/alfresco/repo/security/person/PersonServiceLoader.java index c8e0ff5400..d91753b354 100644 --- a/src/main/java/org/alfresco/repo/security/person/PersonServiceLoader.java +++ b/src/main/java/org/alfresco/repo/security/person/PersonServiceLoader.java @@ -117,7 +117,7 @@ public class PersonServiceLoader // check the lazy creation - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); final ServiceRegistry serviceRegistry = (ServiceRegistry) ctx.getBean(ServiceRegistry.SERVICE_REGISTRY); final AuthenticationService authenticationService = serviceRegistry.getAuthenticationService(); diff --git a/src/test/java/org/alfresco/repo/action/ActionServiceImplTest.java b/src/test/java/org/alfresco/repo/action/ActionServiceImplTest.java index 5119b97003..0040f5f12f 100644 --- a/src/test/java/org/alfresco/repo/action/ActionServiceImplTest.java +++ b/src/test/java/org/alfresco/repo/action/ActionServiceImplTest.java @@ -811,6 +811,8 @@ public class ActionServiceImplTest extends BaseAlfrescoSpringTest @Test public void testActionResult() { + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); + // Create the script node reference NodeRef script = this.nodeService.createNode( this.folder, diff --git a/src/test/java/org/alfresco/repo/action/executer/SpecialiseTypeActionExecuterTest.java b/src/test/java/org/alfresco/repo/action/executer/SpecialiseTypeActionExecuterTest.java index 97db746f7f..2181604958 100644 --- a/src/test/java/org/alfresco/repo/action/executer/SpecialiseTypeActionExecuterTest.java +++ b/src/test/java/org/alfresco/repo/action/executer/SpecialiseTypeActionExecuterTest.java @@ -104,9 +104,9 @@ public class SpecialiseTypeActionExecuterTest extends BaseAlfrescoSpringTest checkActionAgainAndExpectTypeToChange(action, nodeRef1); } - // check with "System user" + // check with "Admin user" { - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // Check the type of the node ActionImpl action = checkActionToChangeNodeType(nodeRef2); diff --git a/src/test/java/org/alfresco/repo/activities/feed/cleanup/AbstractFeedCleanerTest.java b/src/test/java/org/alfresco/repo/activities/feed/cleanup/AbstractFeedCleanerTest.java index 2a32d98cfa..983dbec1b3 100644 --- a/src/test/java/org/alfresco/repo/activities/feed/cleanup/AbstractFeedCleanerTest.java +++ b/src/test/java/org/alfresco/repo/activities/feed/cleanup/AbstractFeedCleanerTest.java @@ -622,7 +622,7 @@ public abstract class AbstractFeedCleanerTest if (type == 2) { - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); int deleteCount = transactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback() { diff --git a/src/test/java/org/alfresco/repo/audit/AuditMethodInterceptorTest.java b/src/test/java/org/alfresco/repo/audit/AuditMethodInterceptorTest.java index a7aa664b14..125c58b79e 100644 --- a/src/test/java/org/alfresco/repo/audit/AuditMethodInterceptorTest.java +++ b/src/test/java/org/alfresco/repo/audit/AuditMethodInterceptorTest.java @@ -99,7 +99,7 @@ public class AuditMethodInterceptorTest extends TestCase nodeService = serviceRegistry.getNodeService(); searchService = serviceRegistry.getSearchService(); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); nodeRef = nodeService.getRootNode(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE); // Register the models diff --git a/src/test/java/org/alfresco/repo/audit/AuditableAspectTest.java b/src/test/java/org/alfresco/repo/audit/AuditableAspectTest.java index a73bd51776..e5277975b0 100644 --- a/src/test/java/org/alfresco/repo/audit/AuditableAspectTest.java +++ b/src/test/java/org/alfresco/repo/audit/AuditableAspectTest.java @@ -281,7 +281,7 @@ public class AuditableAspectTest extends TestCase String modifiedBy = (String) nodeService.getProperty(nodeRef, ContentModel.PROP_MODIFIER); assertEquals( "The modifier should have changed to reflect the current user", - AuthenticationUtil.getRunAsUser(), modifiedBy); + AuthenticationUtil.getFullyAuthenticatedUser(), modifiedBy); RetryingTransactionCallback setAuditableCallback1 = new RetryingTransactionCallback() { diff --git a/src/test/java/org/alfresco/repo/content/GuessMimetypeTest.java b/src/test/java/org/alfresco/repo/content/GuessMimetypeTest.java index 1d78b8fd91..b2e18b6cd5 100644 --- a/src/test/java/org/alfresco/repo/content/GuessMimetypeTest.java +++ b/src/test/java/org/alfresco/repo/content/GuessMimetypeTest.java @@ -77,7 +77,7 @@ public class GuessMimetypeTest extends TestCase public Object execute() throws Throwable { // As system user - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); storeRef = StoreRef.STORE_REF_WORKSPACE_SPACESSTORE; @@ -97,7 +97,7 @@ public class GuessMimetypeTest extends TestCase @Override public Object execute() throws Throwable { - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); Map properties = new HashMap(13); properties.put(ContentModel.PROP_NAME, (Serializable) "test.txt"); @@ -121,7 +121,7 @@ public class GuessMimetypeTest extends TestCase @Override public Object execute() throws Throwable { - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); Map properties = new HashMap(13); properties.put(ContentModel.PROP_NAME, (Serializable) "test.txt"); diff --git a/src/test/java/org/alfresco/repo/content/transform/ArchiveContentTransformerTest.java b/src/test/java/org/alfresco/repo/content/transform/ArchiveContentTransformerTest.java index 3c2d1b5440..c37c3ee68a 100644 --- a/src/test/java/org/alfresco/repo/content/transform/ArchiveContentTransformerTest.java +++ b/src/test/java/org/alfresco/repo/content/transform/ArchiveContentTransformerTest.java @@ -219,7 +219,7 @@ public class ArchiveContentTransformerTest extends AbstractContentTransformerTes return; } - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); ContentTransformer transformer = serviceRegistry.getContentService().getTransformer(sourceMimetype, targetMimetype); assertNotNull(transformer); diff --git a/src/test/java/org/alfresco/repo/content/transform/EMLTransformerTest.java b/src/test/java/org/alfresco/repo/content/transform/EMLTransformerTest.java index d0161da515..e9a4070294 100644 --- a/src/test/java/org/alfresco/repo/content/transform/EMLTransformerTest.java +++ b/src/test/java/org/alfresco/repo/content/transform/EMLTransformerTest.java @@ -135,7 +135,7 @@ public class EMLTransformerTest extends AbstractContentTransformerTest return; } - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); ContentTransformer transformer = serviceRegistry.getContentService().getTransformer(sourceMimetype, targetMimetype); assertNotNull(transformer); diff --git a/src/test/java/org/alfresco/repo/dictionary/DictionaryModelTypeTest.java b/src/test/java/org/alfresco/repo/dictionary/DictionaryModelTypeTest.java index 6f3cfe0b3e..502349b86c 100644 --- a/src/test/java/org/alfresco/repo/dictionary/DictionaryModelTypeTest.java +++ b/src/test/java/org/alfresco/repo/dictionary/DictionaryModelTypeTest.java @@ -457,8 +457,8 @@ public class DictionaryModelTypeTest extends BaseSpringTest @Test public void testCreateAndUpdateDictionaryModelNodeContent() throws Exception { - // just to make sure we don't regress ACE-5852, some tests should run as System - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + // just to make sure we don't regress ACE-5852, some tests should run as Admin + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); try { // Check that the model has not yet been loaded into the dictionary @@ -609,8 +609,8 @@ public class DictionaryModelTypeTest extends BaseSpringTest @Test public void testUpdateDictionaryModelPropertyDelete() throws Exception { - // just to make sure we don't regress ACE-5852, some tests should run as System - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + // just to make sure we don't regress ACE-5852, some tests should run as Admin + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); try { // Check that the model has not yet been loaded into the dictionary @@ -1105,7 +1105,7 @@ public class DictionaryModelTypeTest extends BaseSpringTest public void testImportingSameNamespaceFails() throws Exception { // just to make sure we don't regress ACE-5852, some tests should run as System - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // Create model final NodeRef modelNode = createActiveModel("dictionary/testModel.xml"); diff --git a/src/test/java/org/alfresco/repo/domain/permissions/FixedAclUpdaterTest.java b/src/test/java/org/alfresco/repo/domain/permissions/FixedAclUpdaterTest.java index 114f401eca..283e05f01a 100644 --- a/src/test/java/org/alfresco/repo/domain/permissions/FixedAclUpdaterTest.java +++ b/src/test/java/org/alfresco/repo/domain/permissions/FixedAclUpdaterTest.java @@ -86,7 +86,7 @@ public class FixedAclUpdaterTest extends TestCase permissionService = (PermissionService) ctx.getBean("permissionService"); nodeDAO = (NodeDAO) ctx.getBean("nodeDAO"); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); NodeRef home = repository.getCompanyHome(); // create a folder hierarchy for which will change permission inheritance @@ -319,7 +319,7 @@ public class FixedAclUpdaterTest extends TestCase final FixedAclUpdater fixedAclUpdater = (FixedAclUpdater) ctx.getBean("fixedAclUpdater"); final PermissionsDaoComponent permissionsDaoComponent = (PermissionsDaoComponent) ctx.getBean("admPermissionsDaoComponent"); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); NodeRef home = repository.getCompanyHome(); final NodeRef root = createFile(fileFolderService, home, "ROOT", ContentModel.TYPE_FOLDER); diff --git a/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java b/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java index 67e28c4227..28e36e72d4 100644 --- a/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java +++ b/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java @@ -154,7 +154,7 @@ public class MessageServiceImplTest extends TestCase implements MessageDeployer private void setupRepo() throws Exception { AuthenticationUtil.clearCurrentSecurityContext(); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // Create a test workspace this.testStoreRef = this.nodeService.createStore(StoreRef.PROTOCOL_WORKSPACE, "Test_" + System.currentTimeMillis()); diff --git a/src/test/java/org/alfresco/repo/importer/ImporterComponentTest.java b/src/test/java/org/alfresco/repo/importer/ImporterComponentTest.java index e4f15ac3ba..b424dbc4cb 100644 --- a/src/test/java/org/alfresco/repo/importer/ImporterComponentTest.java +++ b/src/test/java/org/alfresco/repo/importer/ImporterComponentTest.java @@ -84,7 +84,7 @@ public class ImporterComponentTest extends BaseSpringTest this.authenticationComponent = (AuthenticationComponent)this.applicationContext.getBean("authenticationComponent"); - this.authenticationComponent.setSystemUserAsCurrentUser(); + this.authenticationComponent.setCurrentUser(AuthenticationUtil.getAdminUserName()); this.versionService = (VersionService)this.applicationContext.getBean("VersionService"); @@ -162,9 +162,9 @@ public class ImporterComponentTest extends BaseSpringTest // Check that the cm:auditable properties are correct assertEquals("cm:created not preserved during import", ISO8601DateFormat.format(ISO8601DateFormat.parse("2009-04-30T23:00:00.000Z")), createdDate); assertEquals("cm:creator not preserved during import", "Import Creator", creator); - assertEquals("cm:modifier not preserved during import", AuthenticationUtil.getSystemUserName(), modifier); + assertEquals("cm:modifier not preserved during import", AuthenticationUtil.getFullyAuthenticatedUser(), modifier); } - + @Test public void testImportWithVersioning() throws Exception { diff --git a/src/test/java/org/alfresco/repo/jscript/ScriptNodeTest.java b/src/test/java/org/alfresco/repo/jscript/ScriptNodeTest.java index 81a9b673a4..3dbb173663 100644 --- a/src/test/java/org/alfresco/repo/jscript/ScriptNodeTest.java +++ b/src/test/java/org/alfresco/repo/jscript/ScriptNodeTest.java @@ -200,7 +200,7 @@ public class ScriptNodeTest @Before public void createTestContent() { excludedOnUpdateProps = VERSIONABLE_ASPECT.getExcludedOnUpdateProps(); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // Create the store and get the root node storeRef = NODE_SERVICE.createStore(StoreRef.PROTOCOL_WORKSPACE, "Test_" + System.currentTimeMillis()); rootNodeRef = NODE_SERVICE.getRootNode(storeRef); diff --git a/src/test/java/org/alfresco/repo/model/filefolder/FileFolderPerformanceTester.java b/src/test/java/org/alfresco/repo/model/filefolder/FileFolderPerformanceTester.java index 9c3cdae730..c721158b70 100644 --- a/src/test/java/org/alfresco/repo/model/filefolder/FileFolderPerformanceTester.java +++ b/src/test/java/org/alfresco/repo/model/filefolder/FileFolderPerformanceTester.java @@ -624,7 +624,7 @@ public class FileFolderPerformanceTester extends TestCase NodeRef folderNodeRef = null; try { - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); if (selectedFolderNodeRef == null) { // find the guest folder diff --git a/src/test/java/org/alfresco/repo/node/db/DbNodeServiceImplPropagationTest.java b/src/test/java/org/alfresco/repo/node/db/DbNodeServiceImplPropagationTest.java index 7835a5ba36..d4a6dc870e 100644 --- a/src/test/java/org/alfresco/repo/node/db/DbNodeServiceImplPropagationTest.java +++ b/src/test/java/org/alfresco/repo/node/db/DbNodeServiceImplPropagationTest.java @@ -86,7 +86,7 @@ public class DbNodeServiceImplPropagationTest extends BaseSpringTest authenticationComponent = (AuthenticationComponent) applicationContext.getBean("authenticationComponent"); - authenticationComponent.setSystemUserAsCurrentUser(); + authenticationComponent.setCurrentUser(AuthenticationUtil.getAdminUserName()); DictionaryDAO dictionaryDao = (DictionaryDAO) applicationContext.getBean("dictionaryDAO"); // load the system model diff --git a/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java b/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java index b8cab76f33..a9be112392 100644 --- a/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java +++ b/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java @@ -125,7 +125,7 @@ public class NotificationServiceImplSystemTest extends BaseAlfrescoTestCase public Void execute() throws Throwable { // As system user - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // Create people and users fromPerson = createPerson(FROM_USER, PASSWORD, FROM_FIRST_NAME, FROM_LAST_NAME, FROM_EMAIL); @@ -156,7 +156,7 @@ public class NotificationServiceImplSystemTest extends BaseAlfrescoTestCase public Void execute() throws Throwable { // As system user - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // Delete the template nodeService.deleteNode(template); diff --git a/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java b/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java index d082dbf09b..4c85fc118e 100644 --- a/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java +++ b/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java @@ -194,7 +194,7 @@ public class AuthenticationTest extends TestCase @Override public Void execute() throws Throwable { - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); try { deleteAndy(); @@ -224,7 +224,7 @@ public class AuthenticationTest extends TestCase personAndyNodeRef = nodeService.createNode(typesNodeRef, children, ContentModel.TYPE_PERSON, container, props).getChildRef(); assertNotNull(personAndyNodeRef); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); authenticationComponent.clearCurrentSecurityContext(); } diff --git a/src/test/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImplTest.java b/src/test/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImplTest.java index a9f033750e..86803a3435 100644 --- a/src/test/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImplTest.java +++ b/src/test/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImplTest.java @@ -78,7 +78,7 @@ public class ResetPasswordServiceImplTest public static final ApplicationContextInit APP_CONTEXT_INIT = new ApplicationContextInit(); @Rule - public final RunAsFullyAuthenticatedRule runAsRule = new RunAsFullyAuthenticatedRule(AuthenticationUtil.getSystemUserName()); + public final RunAsFullyAuthenticatedRule runAsRule = new RunAsFullyAuthenticatedRule(AuthenticationUtil.getAdminUserName()); private static final String DEFAULT_SENDER = "noreply@test-alfresco.test"; @@ -161,7 +161,7 @@ public class ResetPasswordServiceImplTest // Make sure to run as system AuthenticationUtil.clearCurrentSecurityContext(); - AuthenticationUtil.setRunAsUserSystem(); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // Request password reset resetPasswordService.requestReset(testPerson.userName, "share"); diff --git a/src/test/java/org/alfresco/repo/security/authentication/UpgradePasswordHashTest.java b/src/test/java/org/alfresco/repo/security/authentication/UpgradePasswordHashTest.java index 78b23529c5..ae2b86583e 100644 --- a/src/test/java/org/alfresco/repo/security/authentication/UpgradePasswordHashTest.java +++ b/src/test/java/org/alfresco/repo/security/authentication/UpgradePasswordHashTest.java @@ -107,7 +107,7 @@ public class UpgradePasswordHashTest extends TestCase upgradePasswordHashWorker = (UpgradePasswordHashWorker)ctx.getBean("upgradePasswordHashWorker"); nodeService = serviceRegistry.getNodeService(); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); } protected void createTestUsers(String encoding) throws Exception diff --git a/src/test/java/org/alfresco/repo/security/person/PersonTest.java b/src/test/java/org/alfresco/repo/security/person/PersonTest.java index 55cfb71fb0..4e5f7fa690 100644 --- a/src/test/java/org/alfresco/repo/security/person/PersonTest.java +++ b/src/test/java/org/alfresco/repo/security/person/PersonTest.java @@ -98,7 +98,7 @@ public class PersonTest extends TestCase @SuppressWarnings("deprecation") public void setUp() throws Exception { - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); if (AlfrescoTransactionSupport.getTransactionReadState() != TxnReadState.TXN_NONE) { @@ -1696,4 +1696,46 @@ public class PersonTest extends TestCase } }, false, true); } + + public void testPreventCreationOfBuiltInAuthorities() + { + try + { + PropertyMap systemProps = new PropertyMap(); + systemProps.put(ContentModel.PROP_USERNAME, AuthenticationUtil.getSystemUserName()); + systemProps.put(ContentModel.PROP_FIRSTNAME, "myFirstName"); + systemProps.put(ContentModel.PROP_LASTNAME, "myLastName"); + systemProps.put(ContentModel.PROP_EMAIL, "myFirstName.myLastName@email.com"); + systemProps.put(ContentModel.PROP_JOBTITLE, "myJobTitle"); + systemProps.put(ContentModel.PROP_JOBTITLE, "myOrganisation"); + + personService.createPerson(systemProps); + fail("case fail creating SystemUserName: " + AuthenticationUtil.getSystemUserName()); + + } + catch (AlfrescoRuntimeException e) + { + // expect to go here + } + + try + { + + PropertyMap guestProps = new PropertyMap(); + guestProps.put(ContentModel.PROP_USERNAME, AuthenticationUtil.getGuestUserName()); + guestProps.put(ContentModel.PROP_FIRSTNAME, "myFirstName"); + guestProps.put(ContentModel.PROP_LASTNAME, "myLastName"); + guestProps.put(ContentModel.PROP_EMAIL, "myFirstName.myLastName@email.com"); + guestProps.put(ContentModel.PROP_JOBTITLE, "myJobTitle"); + guestProps.put(ContentModel.PROP_JOBTITLE, "myOrganisation"); + + personService.createPerson(guestProps); + fail("case fail creating GuestUserName: " + AuthenticationUtil.getGuestUserName()); + } + catch (AlfrescoRuntimeException e) + { + // expect to go here + } + + } } diff --git a/src/test/java/org/alfresco/repo/subscriptions/SubscriptionServiceImplTest.java b/src/test/java/org/alfresco/repo/subscriptions/SubscriptionServiceImplTest.java index 8040815c2d..44816d6200 100644 --- a/src/test/java/org/alfresco/repo/subscriptions/SubscriptionServiceImplTest.java +++ b/src/test/java/org/alfresco/repo/subscriptions/SubscriptionServiceImplTest.java @@ -91,7 +91,7 @@ public class SubscriptionServiceImplTest extends TestCase searchService = (SearchService) ctx.getBean("SearchService"); repositoryHelper = (Repository) ctx.getBean("repositoryHelper"); - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); txn = transactionService.getNonPropagatingUserTransaction(false); txn.begin(); diff --git a/src/test/java/org/alfresco/repo/tagging/TaggingServiceImplTest.java b/src/test/java/org/alfresco/repo/tagging/TaggingServiceImplTest.java index 8fca6ce3ef..9f427b083d 100644 --- a/src/test/java/org/alfresco/repo/tagging/TaggingServiceImplTest.java +++ b/src/test/java/org/alfresco/repo/tagging/TaggingServiceImplTest.java @@ -1935,7 +1935,7 @@ public class TaggingServiceImplTest logger.debug(Thread.currentThread() + " - About to start tagging for " + tag); // Do the updates - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); RetryingTransactionCallback txnCallback = new RetryingTransactionCallback() { @Override diff --git a/src/test/java/org/alfresco/repo/tenant/MultiTDemoTest.java b/src/test/java/org/alfresco/repo/tenant/MultiTDemoTest.java index 1c7cc0dfbb..fa30ec25b4 100644 --- a/src/test/java/org/alfresco/repo/tenant/MultiTDemoTest.java +++ b/src/test/java/org/alfresco/repo/tenant/MultiTDemoTest.java @@ -887,7 +887,7 @@ public class MultiTDemoTest extends TestCase } finally { - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); deleteTenant(tenantDomain1); deleteTenant(tenantDomain2); diff --git a/src/test/java/org/alfresco/repo/transaction/TransactionServiceImplTest.java b/src/test/java/org/alfresco/repo/transaction/TransactionServiceImplTest.java index 9a4e0b3a81..c54be4de41 100644 --- a/src/test/java/org/alfresco/repo/transaction/TransactionServiceImplTest.java +++ b/src/test/java/org/alfresco/repo/transaction/TransactionServiceImplTest.java @@ -300,7 +300,7 @@ public class TransactionServiceImplTest extends TestCase private void createUser(String userName) { // login as system user to create test user - AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); // if user with given user name doesn't already exist then create user if (!this.authenticationService.authenticationExists(userName)) { diff --git a/src/test/java/org/alfresco/repo/workflow/StartWorkflowActionExecuterTest.java b/src/test/java/org/alfresco/repo/workflow/StartWorkflowActionExecuterTest.java index 095ff907b6..424ae452da 100644 --- a/src/test/java/org/alfresco/repo/workflow/StartWorkflowActionExecuterTest.java +++ b/src/test/java/org/alfresco/repo/workflow/StartWorkflowActionExecuterTest.java @@ -69,7 +69,7 @@ public class StartWorkflowActionExecuterTest extends BaseSpringTest this.personService = (PersonService)this.applicationContext.getBean("personService"); AuthenticationComponent authenticationComponent = (AuthenticationComponent)applicationContext.getBean("authenticationComponent"); - authenticationComponent.setCurrentUser(authenticationComponent.getSystemUserName()); + authenticationComponent.setCurrentUser(AuthenticationUtil.getAdminUserName()); // Create the store and get the root node rootNodeRef = nodeService.getRootNode(new StoreRef(StoreRef.PROTOCOL_WORKSPACE, "SpacesStore")); diff --git a/src/test/java/org/alfresco/repo/workflow/activiti/ActivitiTimerExecutionTest.java b/src/test/java/org/alfresco/repo/workflow/activiti/ActivitiTimerExecutionTest.java index 5f4701079b..fd0f1f7f2c 100644 --- a/src/test/java/org/alfresco/repo/workflow/activiti/ActivitiTimerExecutionTest.java +++ b/src/test/java/org/alfresco/repo/workflow/activiti/ActivitiTimerExecutionTest.java @@ -264,8 +264,6 @@ public class ActivitiTimerExecutionTest extends BaseSpringTest PersonService personService = registry.getPersonService(); this.personManager = new TestPersonManager(authenticationService, personService, nodeService); - - authenticationComponent.setSystemUserAsCurrentUser(); } private void waitForTimersToBeExecuted(String workflowInstanceId) throws Exception diff --git a/src/test/java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowServiceIntegrationTest.java b/src/test/java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowServiceIntegrationTest.java index de77392398..0922b10bb0 100644 --- a/src/test/java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowServiceIntegrationTest.java +++ b/src/test/java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowServiceIntegrationTest.java @@ -178,7 +178,7 @@ public class ActivitiWorkflowServiceIntegrationTest extends AbstractWorkflowServ @Test public void testReviewAndPooledNotModifiedDate() { - authenticationComponent.setSystemUserAsCurrentUser(); + this.authenticationComponent.setCurrentUser(AuthenticationUtil.getAdminUserName()); Map props = new HashMap(); props.put(ContentModel.PROP_NAME, "MNT-11522-testfile.txt"); diff --git a/src/test/java/org/alfresco/util/BaseAlfrescoSpringTest.java b/src/test/java/org/alfresco/util/BaseAlfrescoSpringTest.java index bce77f36ed..49511aaf6d 100644 --- a/src/test/java/org/alfresco/util/BaseAlfrescoSpringTest.java +++ b/src/test/java/org/alfresco/util/BaseAlfrescoSpringTest.java @@ -31,6 +31,7 @@ import java.util.Map; import org.alfresco.model.ContentModel; import org.alfresco.repo.security.authentication.AuthenticationComponent; +import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.service.cmr.action.ActionService; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ContentService; @@ -93,7 +94,7 @@ public abstract class BaseAlfrescoSpringTest extends BaseSpringTest // Authenticate as the system user authenticationComponent = (AuthenticationComponent) this.applicationContext .getBean("authenticationComponent"); - authenticationComponent.setSystemUserAsCurrentUser(); + this.authenticationComponent.setCurrentUser(AuthenticationUtil.getAdminUserName()); // Create the store and get the root node this.storeRef = this.nodeService.createStore(StoreRef.PROTOCOL_WORKSPACE, "Test_" + System.currentTimeMillis());