From 4e276a9ee54ed4449648a3fbf0c65a79526612fe Mon Sep 17 00:00:00 2001 From: Gary Spencer Date: Wed, 3 Oct 2007 13:57:51 +0000 Subject: [PATCH] Run person service lookups as the system user to fix a 'no valid secure context' error. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6909 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../filesys/server/auth/CifsAuthenticator.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source/java/org/alfresco/filesys/server/auth/CifsAuthenticator.java b/source/java/org/alfresco/filesys/server/auth/CifsAuthenticator.java index 3bc7459979..624a44c38d 100644 --- a/source/java/org/alfresco/filesys/server/auth/CifsAuthenticator.java +++ b/source/java/org/alfresco/filesys/server/auth/CifsAuthenticator.java @@ -917,8 +917,15 @@ public abstract class CifsAuthenticator UserTransaction tx = m_transactionService.getUserTransaction( false); String personName = null; + Authentication curAuth = null; + try { + // Run in the system user context + + curAuth = m_authComponent.getCurrentAuthentication(); + m_authComponent.setSystemUserAsCurrentUser(); + tx.begin(); NodeRef userNode = m_personService.getPerson(userName); @@ -958,6 +965,12 @@ public abstract class CifsAuthenticator throw new RuntimeException("Error during execution of transaction.", ex); } } + finally + { + // Restore the original authentication context + + m_authComponent.setCurrentAuthentication( curAuth); + } // Return the person name