diff --git a/dspace-api/src/main/java/org/dspace/administer/CommunityFiliator.java b/dspace-api/src/main/java/org/dspace/administer/CommunityFiliator.java index 08f6c54aa2..9765753ec2 100644 --- a/dspace-api/src/main/java/org/dspace/administer/CommunityFiliator.java +++ b/dspace-api/src/main/java/org/dspace/administer/CommunityFiliator.java @@ -132,8 +132,8 @@ public class CommunityFiliator CommunityFiliator filiator = new CommunityFiliator(); Context c = new Context(); - // ve are superuser! - c.setIgnoreAuthorization(true); + // we are superuser! + c.turnOffAuthorisationSystem(); try { diff --git a/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java b/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java index b4dbb592c1..fd40243b50 100644 --- a/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java +++ b/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java @@ -237,7 +237,7 @@ public final class CreateAdministrator { // Of course we aren't an administrator yet so we need to // circumvent authorisation - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); // Find administrator group Group admins = groupService.findByName(context, Group.ADMIN); diff --git a/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java b/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java index d21acc038e..57f1bccef1 100644 --- a/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java +++ b/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java @@ -101,7 +101,7 @@ public class MetadataExporter { // create a context Context context = new Context(); - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); OutputFormat xmlFormat = new OutputFormat(Method.XML, "UTF-8", true); xmlFormat.setLineWidth(120); diff --git a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportCLITool.java b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportCLITool.java index 9ed24ba433..50c0ad969a 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportCLITool.java +++ b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportCLITool.java @@ -177,7 +177,7 @@ public class ItemExportCLITool { } Context c = new Context(); - c.setIgnoreAuthorization(true); + c.turnOffAuthorisationSystem(); if (myType == Constants.ITEM) { diff --git a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java index e424e75e6c..95137ce6b3 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java @@ -1779,7 +1779,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea context = new Context(); eperson = ePersonService.find(context, oldEPerson.getID()); context.setCurrentUser(eperson); - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); boolean isResume = theResumeDir!=null; diff --git a/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java b/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java index e0e8ec1ac5..9963e20256 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java +++ b/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java @@ -355,7 +355,7 @@ public class ItemUpdate { context = new Context(); iu.setEPerson(context, iu.eperson); - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); HANDLE_PREFIX = ConfigurationManager.getProperty("handle.canonical.prefix"); if (HANDLE_PREFIX == null || HANDLE_PREFIX.length() == 0) @@ -366,19 +366,20 @@ public class ItemUpdate { iu.processArchive(context, sourcedir, itemField, metadataIndexName, alterProvenance, isTest); context.complete(); // complete all transactions - context.setIgnoreAuthorization(false); } catch (Exception e) { if (context != null && context.isValid()) { context.abort(); - context.setIgnoreAuthorization(false); } e.printStackTrace(); pr(e.toString()); status = 1; } + finally { + context.restoreAuthSystemState(); + } if (isTest) { diff --git a/dspace-api/src/main/java/org/dspace/app/statistics/CreateStatReport.java b/dspace-api/src/main/java/org/dspace/app/statistics/CreateStatReport.java index 0b836d5b44..2bf85155bf 100644 --- a/dspace-api/src/main/java/org/dspace/app/statistics/CreateStatReport.java +++ b/dspace-api/src/main/java/org/dspace/app/statistics/CreateStatReport.java @@ -92,7 +92,7 @@ public class CreateStatReport { // create context as super user context = new Context(); - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); //get paths to directories outputLogDirectory = ConfigurationManager.getProperty("log.report.dir") + File.separator; diff --git a/dspace-api/src/main/java/org/dspace/app/statistics/LogAnalyser.java b/dspace-api/src/main/java/org/dspace/app/statistics/LogAnalyser.java index 4459b5ace6..c48958ca9f 100644 --- a/dspace-api/src/main/java/org/dspace/app/statistics/LogAnalyser.java +++ b/dspace-api/src/main/java/org/dspace/app/statistics/LogAnalyser.java @@ -224,7 +224,7 @@ public class LogAnalyser // create context as super user Context context = new Context(); - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); // set up our command line variables String myLogDir = null; diff --git a/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java b/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java index 039b516497..c39ae388c2 100644 --- a/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java +++ b/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java @@ -161,7 +161,7 @@ public class ReportGenerator { // create context as super user Context context = new Context(); - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); String myFormat = null; String myInput = null; diff --git a/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java index 7cb5a33d21..55a80adec8 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java @@ -309,11 +309,11 @@ public class LDAPAuthentication { log.info(LogManager.getHeader(context, "type=ldap-login", "type=ldap_but_already_email")); - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); eperson.setNetid(netid.toLowerCase()); ePersonService.update(context, eperson); context.dispatchEvents(); - context.setIgnoreAuthorization(false); + context.restoreAuthSystemState(); context.setCurrentUser(eperson); // assign user to groups based on ldap dn @@ -328,7 +328,7 @@ public class LDAPAuthentication // TEMPORARILY turn off authorisation try { - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); eperson = ePersonService.create(context); if (StringUtils.isNotEmpty(email)) { @@ -362,7 +362,7 @@ public class LDAPAuthentication } finally { - context.setIgnoreAuthorization(false); + context.restoreAuthSystemState(); } log.info(LogManager.getHeader(context, "authenticate", @@ -384,7 +384,7 @@ public class LDAPAuthentication } finally { - context.setIgnoreAuthorization(false); + context.restoreAuthSystemState(); } } } diff --git a/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java b/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java index dae6f3db71..5a6a2019a4 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java @@ -612,7 +612,7 @@ public class X509Authentication implements AuthenticationMethod "from=x.509, email=" + email)); // TEMPORARILY turn off authorisation - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); eperson = ePersonService.create(context); eperson.setEmail(email); eperson.setCanLogIn(true); @@ -620,7 +620,7 @@ public class X509Authentication implements AuthenticationMethod eperson); ePersonService.update(context, eperson); context.dispatchEvents(); - context.setIgnoreAuthorization(false); + context.restoreAuthSystemState(); context.setCurrentUser(eperson); setSpecialGroupsFlag(request, email); return SUCCESS; diff --git a/dspace-api/src/main/java/org/dspace/authorize/FixDefaultPolicies.java b/dspace-api/src/main/java/org/dspace/authorize/FixDefaultPolicies.java index 3862727c50..ac6f2a251b 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/FixDefaultPolicies.java +++ b/dspace-api/src/main/java/org/dspace/authorize/FixDefaultPolicies.java @@ -42,7 +42,7 @@ public class FixDefaultPolicies Context c = new Context(); // turn off authorization - c.setIgnoreAuthorization(true); + c.turnOffAuthorisationSystem(); ////////////////////// // carnage begins here diff --git a/dspace-api/src/main/java/org/dspace/authorize/PolicySet.java b/dspace-api/src/main/java/org/dspace/authorize/PolicySet.java index 6dbdcbeba4..1a1459f1f2 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/PolicySet.java +++ b/dspace-api/src/main/java/org/dspace/authorize/PolicySet.java @@ -79,7 +79,7 @@ public class PolicySet Context c = new Context(); // turn off authorization - c.setIgnoreAuthorization(true); + c.turnOffAuthorisationSystem(); ////////////////////// // carnage begins here diff --git a/dspace-api/src/main/java/org/dspace/core/Context.java b/dspace-api/src/main/java/org/dspace/core/Context.java index dac4360fb5..c99adbe13e 100644 --- a/dspace-api/src/main/java/org/dspace/core/Context.java +++ b/dspace-api/src/main/java/org/dspace/core/Context.java @@ -303,21 +303,6 @@ public class Context ignoreAuth = previousState.booleanValue(); } - /** - * Specify whether the authorisation system should be ignored for this - * context. This should be used sparingly. - * - * @deprecated use turnOffAuthorisationSystem() for make the change and - * restoreAuthSystemState() when change are not more required - * @param b - * if true, authorisation should be ignored for this - * session. - */ - public void setIgnoreAuthorization(boolean b) - { - ignoreAuth = b; - } - /** * Set extra information that should be added to any message logged in the * scope of this context. An example of this might be the session ID of the diff --git a/dspace-api/src/main/java/org/dspace/curate/CurationCli.java b/dspace-api/src/main/java/org/dspace/curate/CurationCli.java index 8d73fd90ad..300418a498 100644 --- a/dspace-api/src/main/java/org/dspace/curate/CurationCli.java +++ b/dspace-api/src/main/java/org/dspace/curate/CurationCli.java @@ -155,7 +155,7 @@ public class CurationCli } else { - c.setIgnoreAuthorization(true); + c.turnOffAuthorisationSystem(); } Curator curator = new Curator(); diff --git a/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java b/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java index 1bbfe178a8..b58980de00 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java +++ b/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java @@ -48,7 +48,7 @@ public class IndexClient { public static void main(String[] args) throws SQLException, IOException, SearchServiceException { Context context = new Context(); - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); String usage = "org.dspace.discovery.IndexClient [-cbhf] | [-r ] | [-i ] or nothing to update/clean an existing index."; Options options = new Options(); diff --git a/dspace-api/src/main/java/org/dspace/embargo/EmbargoCLITool.java b/dspace-api/src/main/java/org/dspace/embargo/EmbargoCLITool.java index 8b8013866f..cc21a383c8 100644 --- a/dspace-api/src/main/java/org/dspace/embargo/EmbargoCLITool.java +++ b/dspace-api/src/main/java/org/dspace/embargo/EmbargoCLITool.java @@ -115,7 +115,7 @@ public class EmbargoCLITool { try { context = new Context(); - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); Date now = new Date(); // scan items under embargo diff --git a/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java b/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java index bde9843f7d..f8c90b9dcf 100644 --- a/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java @@ -93,10 +93,9 @@ public class EmbargoServiceImpl implements EmbargoService } } String slift = myLift.toString(); - boolean ignoreAuth = context.ignoreAuthorization(); try { - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); itemService.clearMetadata(context, item, lift_schema, lift_element, lift_qualifier, Item.ANY); itemService.addMetadata(context, item, lift_schema, lift_element, lift_qualifier, null, slift); log.info("Set embargo on Item "+item.getHandle()+", expires on: "+slift); @@ -107,7 +106,7 @@ public class EmbargoServiceImpl implements EmbargoService } finally { - context.setIgnoreAuthorization(ignoreAuth); + context.restoreAuthSystemState(); } } diff --git a/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java b/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java index 4302321805..0f24ca5234 100644 --- a/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java +++ b/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java @@ -81,7 +81,7 @@ public class LicenseCleanup { Context ctx = new Context(); - ctx.setIgnoreAuthorization(true); + ctx.turnOffAuthorisationSystem(); Iterator iter = itemService.findAll(ctx); Properties props = new Properties(); diff --git a/dspace-jspui/src/main/java/org/dspace/app/webui/servlet/RegisterServlet.java b/dspace-jspui/src/main/java/org/dspace/app/webui/servlet/RegisterServlet.java index af78e1c888..db98ea3f6b 100644 --- a/dspace-jspui/src/main/java/org/dspace/app/webui/servlet/RegisterServlet.java +++ b/dspace-jspui/src/main/java/org/dspace/app/webui/servlet/RegisterServlet.java @@ -487,7 +487,7 @@ public class RegisterServlet extends EditProfileServlet // Need to create new eperson // FIXME: TEMPORARILY need to turn off authentication, as usually // only site admins can create e-people - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); eperson = personService.create(context); eperson.setEmail(email); if (netid!=null) @@ -495,7 +495,7 @@ public class RegisterServlet extends EditProfileServlet eperson.setNetid(netid.toLowerCase()); } personService.update(context, eperson); - context.setIgnoreAuthorization(false); + context.restoreAuthSystemState(); } // Now set the current user of the context diff --git a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/utils/AuthenticationUtil.java b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/utils/AuthenticationUtil.java index 63fe654116..5f38f754e6 100644 --- a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/utils/AuthenticationUtil.java +++ b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/utils/AuthenticationUtil.java @@ -472,13 +472,13 @@ public class AuthenticationUtil // Need to create new eperson // FIXME: TEMPORARILY need to turn off authentication, as usually // only site admins can create e-people - context.setIgnoreAuthorization(true); + context.turnOffAuthorisationSystem(); EPerson eperson = ePersonService.create(context); eperson.setEmail(email); eperson.setCanLogIn(true); eperson.setSelfRegistered(true); ePersonService.update(context, eperson); - context.setIgnoreAuthorization(false); + context.restoreAuthSystemState(); // Give site auth a chance to set/override appropriate fields authenticationService.initEPerson(context, request, eperson);