]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - security/runtime/org.argeo.security.ldap/src/main/java/org/argeo/security/ldap/jcr/JcrLdapSynchronizer.java
Refactor JCR utils and home usage
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.ldap / src / main / java / org / argeo / security / ldap / jcr / JcrLdapSynchronizer.java
index 9e6271262daf32c883d1b6788c0dc84f3ccd040a..178785602d5aa7eff0ad8d5583c39210f0350fb0 100644 (file)
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2007-2012 Mathieu Baudier
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.argeo.security.ldap.jcr;
 
 import java.security.NoSuchAlgorithmException;
@@ -44,6 +59,7 @@ import org.argeo.ArgeoException;
 import org.argeo.jcr.ArgeoNames;
 import org.argeo.jcr.ArgeoTypes;
 import org.argeo.jcr.JcrUtils;
+import org.argeo.jcr.security.SecurityJcrUtils;
 import org.argeo.security.jcr.JcrUserDetails;
 import org.springframework.ldap.core.ContextExecutor;
 import org.springframework.ldap.core.ContextMapper;
@@ -208,9 +224,10 @@ public class JcrLdapSynchronizer implements UserDetailsContextMapper,
        /** Called during authentication in order to retrieve user details */
        public UserDetails mapUserFromContext(final DirContextOperations ctx,
                        final String username, GrantedAuthority[] authorities) {
+               log.debug("mapUserFromContext");
                if (ctx == null)
                        throw new ArgeoException("No LDAP information for user " + username);
-               Node userProfile = JcrUtils.createUserProfileIfNeeded(securitySession,
+               Node userProfile = SecurityJcrUtils.createUserProfileIfNeeded(securitySession,
                                username);
                JcrUserDetails.checkAccountStatus(userProfile);
 
@@ -245,7 +262,7 @@ public class JcrLdapSynchronizer implements UserDetailsContextMapper,
                try {
                        // process
                        String username = ctx.getStringAttribute(usernameAttribute);
-                       Node userHome = JcrUtils.createUserHomeIfNeeded(session, username);
+                       Node userHome = SecurityJcrUtils.createUserHomeIfNeeded(session, username);
                        Node userProfile; // = userHome.getNode(ARGEO_PROFILE);
                        if (userHome.hasNode(ARGEO_PROFILE)) {
                                userProfile = userHome.getNode(ARGEO_PROFILE);
@@ -264,7 +281,7 @@ public class JcrLdapSynchronizer implements UserDetailsContextMapper,
                                                        .checkin(userProfile.getPath());
                                }
                        } else {
-                               userProfile = JcrUtils.createUserProfile(securitySession,
+                               userProfile = SecurityJcrUtils.createUserProfile(securitySession,
                                                username);
                                userProfile.getSession().save();
                                userProfile.getSession().getWorkspace().getVersionManager()