From 8f0287babced78a1ac54d95cbaece7918aea2814 Mon Sep 17 00:00:00 2001 From: Bruno Sinou Date: Wed, 7 Sep 2016 10:44:15 +0000 Subject: [PATCH] Fix issue when admin user uses the home repository git-svn-id: https://svn.argeo.org/commons/trunk@9100 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../src/org/argeo/cms/internal/kernel/HomeRepository.java | 3 +++ .../argeo/security/jackrabbit/SystemJackrabbitLoginModule.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/HomeRepository.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/HomeRepository.java index d1dfb7dd6..c0cf3e025 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/HomeRepository.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/HomeRepository.java @@ -14,6 +14,7 @@ import javax.naming.ldap.LdapName; import javax.security.auth.Subject; import javax.security.auth.login.LoginContext; +import org.apache.jackrabbit.core.security.SecurityConstants; import org.argeo.ArgeoException; import org.argeo.cms.CmsException; import org.argeo.cms.auth.AuthConstants; @@ -92,6 +93,8 @@ class HomeRepository extends JcrRepositoryWrapper implements KernelConstants, Ar return; if (session.getUserID().equals(AuthConstants.ROLE_KERNEL)) return; + if (session.getUserID().equals(SecurityConstants.ADMIN_ID)) + return; if (checkedUsers.contains(username)) return; diff --git a/org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/SystemJackrabbitLoginModule.java b/org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/SystemJackrabbitLoginModule.java index 688791e2c..62f8fa02b 100644 --- a/org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/SystemJackrabbitLoginModule.java +++ b/org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/SystemJackrabbitLoginModule.java @@ -32,7 +32,7 @@ public class SystemJackrabbitLoginModule implements LoginModule { public boolean commit() throws LoginException { Set initPrincipal = subject.getPrincipals(DataAdminPrincipal.class); if (!initPrincipal.isEmpty()) { - subject.getPrincipals().add(new AdminPrincipal(initPrincipal.iterator().next().getName())); + subject.getPrincipals().add(new AdminPrincipal(SecurityConstants.ADMIN_ID)); return true; } -- 2.30.2