Hi,
Is there a way to synchronise users created locally in our application with reportserver usersandgroups
Thank you
Hi,
Is there a way to synchronise users created locally in our application with reportserver usersandgroups
Thank you
Hi Frank,
you can take a look at the LDAP synchronization if you have an LDAP server with your users/groups:
https://reportserver.net/en/guides/script/chapters/Integrating-ReportServer-with-an-Active-Directory-using-LDAP/
https://reportserver.net/blog/2013/08/06/configure-ldap-to-use-reportserver-with-activedirectory-authentication/
Cheers,
Eduardo
Hi Eduardo,
Thanks For the reply,
I am in new in this, I have tried the solutions provided in the above links, but failed in executing ldapImport.groovy file,
getting following authentication error
Script execution failed.
error message: javax.script.ScriptException: javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid Credentials] (javax.naming.AuthenticationException)
script arguments:
file: ldapimport.groovy (id: 342341, line 457)
line number: 457 (68, 31)
line: loadFromDirectory();
Actually we are trying to set jumpcloud as a ldap service, for importing users from jumpcloud to reportserver. We have made the following changes in the groovy file
lul.setProviderUrl(“ldap://ldap.jumpcloud.com:389”);
lul.setSecurityPrincipal(“DC=ldap,DC=jumpcloud,DC=com”);
lul.setSecurityCredentials(“user-id”);
lul.setLdapBase("UID=user-id,OU=Users,O=ORG_ID,DC=jumpcloud,DC=com");
Could you please help us to sort out this issue.
Regards
Frank
Hi Eduardo,
Is there any other possible ways to sync users from an application without the use of LDAP Server?
Regards,
Frank
Hi Frank,
you could write a script that reads the users from your other system and creates these in reportserver if they don’t exist. Do you need a periodic synchronization or a 1-time import?
Cheers,
Eduardo
Hi Eduardo,
We actually need a periodic synchronisation from our application to ReportServer.
Regards,
Frank
Hi Frank,
for this, we would recommend using LDAP, as it also offers synchronization (https://reportserver.net/en/guides/script/chapters/Integrating-ReportServer-with-an-Active-Directory-using-LDAP/).
If you don’t want to use LDAP, you would have to write your own script (similar as ldapimport.groovy): https://reportserver.net/en/guides/script/chapters/ldapimportgroovy/
Regards,
Eduardo
Hi Frank,
have you been able to connect to the LDAP server? Or do you still got problems ?
lul.setSecurityCredentials(“user-id”); // should contain your password. Is this correct ?
lul.setLdapBase(“UID=user-id,OU=Users,O=ORG_ID,DC=jumpcloud,DC=com”); // the base directory where the users are going to be searched for. You can try with:
OU=Users,O=ORG_ID,DC=jumpcloud,DC=com
O=ORG_ID,DC=jumpcloud,DC=com
DC=jumpcloud,DC=com
Cheers,
Eduardo
Hi Frank,
in https://support.jumpcloud.com/customer/portal/articles/2439911 I read this:
So, according to this, your configuration should be:
lul.setProviderUrl("ldap://ldap.jumpcloud.com:389");
lul.setSecurityPrincipal("uid=LDAP_BINDING_USER,ou=Users,o=YOUR_ORG_ID,dc=jumpcloud,dc=com"); // replace LDAP_BINDING_USER and YOUR_ORG_ID with your account details
lul.setSecurityCredentials("******"); //your password
lul.setLdapBase("ou=Users,o=YOUR_ORG_ID,dc=jumpcloud,dc=com"); // again, replace YOUR_ORG_ID with your organization id
// if this doesn't work, you can try with:
lul.setLdapBase("o=YOUR_ORG_ID,dc=jumpcloud,dc=com"); // again, replace YOUR_ORG_ID with your organization id
Please let us know if this helps,
Cheers,
Eduardo
Hi Frank,
testing with jumpcloud I made the following modifications in order for the script to work:
lul.setProviderUrl("ldap://ldap.jumpcloud.com:389");
lul.setSecurityPrincipal("uid=LDAP_BINDING_USER,ou=Users,o=YOUR_ORG_ID,dc=jumpcloud,dc=com"); // replace LDAP_BINDING_USER and YOUR_ORG_ID with your account details
lul.setSecurityCredentials("******"); //your password
private String getGuid(SearchResult sr) throws NamingException{
return sr.getName().toString(); //you can also return a unique id analogously as the original script
}
private String ldapFilter = "(|(objectClass=organizationalUnit)(objectClass=person)(objectClass=posixGroup))";
//node.setUsername(getStringAttribute(sr, "sAMAccountName"));
node.setUsername(getStringAttribute(sr, "uid")); // set uid or any attribute you have identifying your username
This is working for me, I hope this helps.
Cheers,
Eduardo
just noting that we have the same intention that Frank first posted. Our thread is at https://forum.reportserver.net/viewtopic.php?pid=2891#p2891 - with Eduardo’s help we’re progressing.
Hi Frank,
pls note we published the ldaptester.groovy script here:
https://github.com/infofabrik/reportserver-samples/
which allows you to safely test your LDAP settings before importing them into the “real” ldapimport.groovy script (or ldap.cf configuration file).
Regards,
Eduardo