Uploaded image for project: 'DSpace'
  1. DSpace
  2. DS-3766

Error submitting an item into a collection without approval workflow via SWORD

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Volunteer Needed (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 5.6, 6.2
    • Fix Version/s: None
    • Component/s: SWORD
    • Labels:
      None
    • Attachments:
      0
    • Comments:
      4
    • Documentation Status:
      Needed

      Description

      Whenever I try to submit an item via SWORD into a collection, which is publicly available to anyone without a submission workflow behind it, I get an error. The submitting user has ADD rights for the target collection, but obviously this is not enough. I get the following error messages:

      2017-11-25 14:37:31,620 ERROR org.dspace.sword.SWORDMETSIngester @ caught exception:
      org.dspace.authorize.AuthorizeException: Authorization denied for action WRITE on ITEM:be542a71-e668-45c6-93f5-762cc422d504 by user 4de0100f-3636-4614-8761-8d83e4b05db5
      at org.dspace.authorize.AuthorizeServiceImpl.authorizeAction(AuthorizeServiceImpl.java:157)
      at org.dspace.authorize.AuthorizeServiceImpl.authorizeAction(AuthorizeServiceImpl.java:95)
      at org.dspace.authorize.AuthorizeServiceImpl.authorizeAction(AuthorizeServiceImpl.java:89)
      at org.dspace.content.ItemServiceImpl.update(ItemServiceImpl.java:435)
      at org.dspace.content.ItemServiceImpl.update(ItemServiceImpl.java:61)
      at org.dspace.content.packager.PackageUtils.updateDSpaceObject(PackageUtils.java:567)
      at org.dspace.content.packager.AbstractMETSIngester.ingestObject(AbstractMETSIngester.java:565)
      at org.dspace.content.packager.AbstractMETSIngester.ingest(AbstractMETSIngester.java:243)
      at org.dspace.sword.SWORDMETSIngester.ingest(SWORDMETSIngester.java:107)
      at org.dspace.sword.CollectionDepositor.doDeposit(CollectionDepositor.java:139)
      at org.dspace.sword.DepositManager.deposit(DepositManager.java:168)
      at org.dspace.sword.DSpaceSWORDServer.doDeposit(DSpaceSWORDServer.java:133)
      at org.purl.sword.server.DepositServlet.doPost(DepositServlet.java:313)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      at org.apache.catalina.filters.RequestFilter.process(RequestFilter.java:205)
      at org.apache.catalina.filters.RemoteAddrFilter.doFilter(RemoteAddrFilter.java:71)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:221)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
      at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      at java.lang.Thread.run(Thread.java:748)
      2017-11-25 14:37:31,637 ERROR org.dspace.sword.DSpaceSWORDServer @ caught exception:
      org.dspace.sword.DSpaceSWORDException: org.dspace.authorize.AuthorizeException: Authorization denied for action WRITE on ITEM:be542a71-e668-45c6-93f5-762cc422d504 by user 4de0100f-3636-4614-8761-8d83e4b05db5
      at org.dspace.sword.SWORDMETSIngester.ingest(SWORDMETSIngester.java:183)
      at org.dspace.sword.CollectionDepositor.doDeposit(CollectionDepositor.java:139)
      at org.dspace.sword.DepositManager.deposit(DepositManager.java:168)
      at org.dspace.sword.DSpaceSWORDServer.doDeposit(DSpaceSWORDServer.java:133)
      at org.purl.sword.server.DepositServlet.doPost(DepositServlet.java:313)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      at org.apache.catalina.filters.RequestFilter.process(RequestFilter.java:205)
      at org.apache.catalina.filters.RemoteAddrFilter.doFilter(RemoteAddrFilter.java:71)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:221)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
      at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      at java.lang.Thread.run(Thread.java:748)

      As far as I understood it, the ADD permission should be enough to submit into a collection, no matter, if it was protected by a submission workflow or not. If I add WRITE permission to the user for the collection, the submission works, though...

      As far as I saw that, the behaviour is the same on DSpace 5, but I haven't double checked that.

      Is this a bug or expected behavior as its probably not a good idea to accept submissions into an open collection via SWORD?

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              olli_gold Oliver Goldschmidt
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: