X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=security%2Fruntime%2Forg.argeo.security.ldap%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fldap%2Fjcr%2FJcrLdapSynchronizer.java;fp=security%2Fruntime%2Forg.argeo.security.ldap%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fldap%2Fjcr%2FJcrLdapSynchronizer.java;h=f329df356fd3877314a561eaddbb011e37f230b8;hb=69f324f4c2e115192c08f9939d8ecb74e181a34b;hp=669231bc91e483944e357ef1c18cc2003d7cf6f8;hpb=ad29722a3ece42252d6adcf5812f0a59bb084622;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.ldap/src/main/java/org/argeo/security/ldap/jcr/JcrLdapSynchronizer.java b/security/runtime/org.argeo.security.ldap/src/main/java/org/argeo/security/ldap/jcr/JcrLdapSynchronizer.java index 669231bc9..f329df356 100644 --- a/security/runtime/org.argeo.security.ldap/src/main/java/org/argeo/security/ldap/jcr/JcrLdapSynchronizer.java +++ b/security/runtime/org.argeo.security.ldap/src/main/java/org/argeo/security/ldap/jcr/JcrLdapSynchronizer.java @@ -59,8 +59,10 @@ import org.argeo.ArgeoException; import org.argeo.jcr.ArgeoNames; import org.argeo.jcr.ArgeoTypes; import org.argeo.jcr.JcrUtils; +import org.argeo.security.SecurityUtils; import org.argeo.security.jcr.JcrSecurityModel; import org.argeo.security.jcr.JcrUserDetails; +import org.argeo.security.jcr.SimpleJcrSecurityModel; import org.springframework.ldap.core.ContextExecutor; import org.springframework.ldap.core.ContextMapper; import org.springframework.ldap.core.DirContextAdapter; @@ -106,7 +108,7 @@ public class JcrLdapSynchronizer implements UserDetailsContextMapper, private Repository repository; private JcrProfileListener jcrProfileListener; - private JcrSecurityModel jcrSecurityModel = new JcrSecurityModel(); + private JcrSecurityModel jcrSecurityModel = new SimpleJcrSecurityModel(); // Mapping private Map propertyToAttributes = new HashMap(); @@ -237,7 +239,8 @@ public class JcrLdapSynchronizer implements UserDetailsContextMapper, // Node userProfile = SecurityJcrUtils.createUserProfileIfNeeded( // securitySession, username); - Node userProfile = jcrSecurityModel.sync(nodeSession, username); + Node userProfile = jcrSecurityModel.sync(nodeSession, username, + SecurityUtils.authoritiesToStringList(authorities)); // JcrUserDetails.checkAccountStatus(userProfile); // password @@ -272,7 +275,7 @@ public class JcrLdapSynchronizer implements UserDetailsContextMapper, // process String username = ctx.getStringAttribute(usernameAttribute); - Node userProfile = jcrSecurityModel.sync(session, username); + Node userProfile = jcrSecurityModel.sync(session, username, null); Map modifications = new HashMap(); for (String jcrProperty : propertyToAttributes.keySet()) ldapToJcr(userProfile, jcrProperty, ctx, modifications);