73de2964 by Ean Schuessler

Fix audit record authorization issues

- Wrap all artifactHit.update() calls with authz disable/enable
- Ensures mcp-user can create and update audit records
- Fixes ArtifactAuthorizationException on audit logging
1 parent 3eb03965
...@@ -671,11 +671,17 @@ ...@@ -671,11 +671,17 @@
671 } catch (Exception e) { 671 } catch (Exception e) {
672 def executionTime = (System.currentTimeMillis() - startTime) / 1000.0 672 def executionTime = (System.currentTimeMillis() - startTime) / 1000.0
673 673
674 // Update audit record with error 674 // Update audit record with error
675 artifactHit.runningTimeMillis = executionTime 675 artifactHit.runningTimeMillis = executionTime
676 artifactHit.wasError = "Y" 676 artifactHit.wasError = "Y"
677 artifactHit.errorMessage = e.message 677 artifactHit.errorMessage = e.message
678 artifactHit.update() 678
679 ec.artifactExecution.disableAuthz()
680 try {
681 artifactHit.update()
682 } finally {
683 ec.artifactExecution.enableAuthz()
684 }
679 685
680 result = [ 686 result = [
681 content: [ 687 content: [
...@@ -942,11 +948,17 @@ ...@@ -942,11 +948,17 @@
942 948
943 result = [contents: contents] 949 result = [contents: contents]
944 950
945 // Update audit record 951 // Update audit record
946 artifactHit.runningTimeMillis = executionTime 952 artifactHit.runningTimeMillis = executionTime
947 artifactHit.wasError = "N" 953 artifactHit.wasError = "N"
948 artifactHit.outputSize = new JsonBuilder(result).toString().length() 954 artifactHit.outputSize = new JsonBuilder(result).toString().length()
949 artifactHit.update() 955
956 ec.artifactExecution.disableAuthz()
957 try {
958 artifactHit.update()
959 } finally {
960 ec.artifactExecution.enableAuthz()
961 }
950 962
951 } catch (Exception e) { 963 } catch (Exception e) {
952 def executionTime = (System.currentTimeMillis() - startTime) / 1000.0 964 def executionTime = (System.currentTimeMillis() - startTime) / 1000.0
......