LDAP user synchronization using scheduler


hello,

 

is there ootb functionality available synchronize users ldap cq5?

 

if not, please me proceed in below scenario.

 

i have written scheduler, pull user details ldap , create user cq using usermanager. process not creating user same system creates when user logs in. finding difficulty in setting attribute rep:principalname , process throwing below given exception.

 

com.wem.ldap.scheduledperiodicjob repositoryexception while getting session javax.jcr.nodetype.constraintviolationexception: attempt modify protected property rep:principalname of user 'xxxx'

        @ org.apache.jackrabbit.core.security.user.authorizableimpl.checkprotectedproperty(authoriz ableimpl.java:447)

        @ org.apache.jackrabbit.core.security.user.authorizableimpl.setproperty(authorizableimpl.ja va:174)

        @ org.apache.jackrabbit.core.security.user.userimpl.setproperty(userimpl.java:38)

        @ com.wem.ldap.scheduledperiodicjob.run(scheduledperiodicjob.java:136)

        @ org.apache.sling.commons.scheduler.impl.quartzjobexecutor.execute(quartzjobexecutor.java: 56)

        @ org.quartz.core.jobrunshell.run(jobrunshell.java:213)

        @ java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor.java:886)

        @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:908)

        @ java.lang.thread.run(thread.java:662)

 

here code have written

 

resourceresolver = resourceresolverfactory.getadministrativeresourceresolver(null);

session = resourceresolver.adaptto(session.class);

 

jackrabbitsession jackrabbitsession = (jackrabbitsession) session;

 

usermanager manager = jackrabbitsession.getusermanager();

 

user = manager.createuser("xxxx", "xxxxx");

 

value = valuefactory.createvalue("xxxx");

user.setproperty("cq:first-name", value);

 

value = valuefactory.createvalue("xxxx");

user.setproperty("cq:last-name", value);

 

value = valuefactory.createvalue("xxx@xxxx.com");

user.setproperty("rep:e-mail", value);

 

value = valuefactory.createvalue("cn=xxxx,ou=users,dc=company,dc=com");

user.setproperty("rep:principalname", value);

 

jackrabbitsession.save();

 

can please provide code block create user, needs authenticated against ldap password.

 

thanks,

sastry

hi sastry,

 

for earlier cq5 can use [1].   cq5.5 please install latest update1 , can sync using jmx following[2].

 

[1]    http://dev.day.com/docs/en/crx/2-2/administering/ldap_authentication.html#ldap%20user%20sy nchronization

 

[2]

*    go /system/console/jmx , login admin

*    search com.adobe.granite.ldap , click on it

*    see 2 methods. syncuser & syncuserlist.  supply necessary parameter in 5.4.

 

thanks,

sham



More discussions in Archived Spaces


adobe

Comments

Popular posts from this blog

How to change text Component easybook reloaded *newbee* - Joomla! Forum - community, help and support

After Effect warning: A problem occurred when processing OpenGL commands

Preconditions Failed. - Joomla! Forum - community, help and support