Hi,

I could see secondary domain and AD users with following config. But that
config contains some properties with spaces. isn't this something we need
to fix?

<UserStoreManager
class="org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager">

    <Property name="defaultRealmName">WSO2.ORG</Property>
    <Property name="Disabled">false</Property>
*    <Property name="Diabled">false</Property>*
    <Property name="kdcEnabled">false</Property>
    <Property
name="ConnectionName">CN=Administrator,CN=Users,DC=wso2,DC=test</Property>
  *  <Property name="Connection
Name">CN=Administrator,CN=Users,DC=wso2,DC=test</Property>*
    <Property name="ConnectionURL">ldaps://192.168.18.13:636</Property>
    *<Property name="Connection URL">ldaps://192.168.18.13:636
<http://192.168.18.13:636></Property>*
    <Property name="ConnectionPassword">pass#word2</Property>
  *  <Property name="Connection Password">pass#word2</Property>*
    <Property name="UserSearchBase">CN=Users,DC=wso2,DC=test</Property>
  *  <Property name="User Search Base">CN=Users,DC=wso2,DC=test</Property>*
    <Property name="passwordHashMethod">PLAIN_TEXT</Property>


*  <Property name="User Search
Filter">(&amp;(objectClass=user)(cn=?))</Property>    <Property name="User
Object Class">(objectClass=user)</Property>    <Property name="User Entry
Object Class">user</Property>*
    <Property name="UserEntryObjectClass">user</Property>
    <Property name="UserNameAttribute">cn</Property>
  *  <Property name="Username Attribute">cn</Property>*
    <Property name="isADLDSRole">false</Property>
    <Property name="userAccountControl">512</Property>
    <Property name="UserNameListFilter">(objectClass=user)</Property>
    <Property
name="UserNameSearchFilter">(&amp;(objectClass=user)(cn=?))</Property>
    <Property name="UsernameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property>
    <Property name="UsernameJavaScriptRegEx">^[\S]{3,30}$</Property>
    <Property name="PasswordJavaScriptRegEx">^[\S]{5,30}$</Property>
    <Property name="RolenameJavaScriptRegEx">^[\S]{3,30}$</Property>
    <Property name="RolenameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property>
    <Property name="ReadGroups">true</Property>
    <Property name="WriteGroups">true</Property>
    <Property name="EmptyRolesAllowed">true</Property>
    <Property name="GroupSearchBase">CN=Users,DC=WSO2,DC=Com</Property>
    <Property name="GroupEntryObjectClass">group</Property>
    <Property name="GroupNameAttribute">cn</Property>
    <Property name="SharedGroupNameAttribute">cn</Property>
    <Property
name="SharedGroupSearchBase">ou=SharedGroups,dc=wso2,dc=org</Property>
    <Property name="SharedGroupEntryObjectClass">groups</Property>
    <Property
name="SharedTenantNameListFilter">(object=organizationalUnit)</Property>
    <Property name="SharedTenantNameAttribute">ou</Property>
    <Property name="SharedTenantObjectClass">organizationalUnit</Property>
    <Property name="MembershipAttribute">member</Property>
    <Property name="GroupNameListFilter">(objectcategory=group)</Property>
    <Property
name="GroupNameSearchFilter">(&amp;(objectClass=group)(cn=?))</Property>
    <Property name="UserRolesCacheEnabled">true</Property>
    <Property name="Referral">follow</Property>
    <Property name="BackLinksEnabled">true</Property>
    <Property name="MaxRoleNameListLength">100</Property>
    <Property name="MaxUserNameListLength">100</Property>
    <Property name="SCIMEnabled">false</Property>
    <Property name="DomainName">AD2</Property>

 </UserStoreManager>


On Thu, Jun 4, 2015 at 12:07 PM, Amalka Subasinghe <ama...@wso2.com> wrote:

> Hi,
>
> I'm trying to setup AD as secondary user store in EMM 1.1.0.
>
> When I try to create it via UI it creates the xml file as [1]. each
> property contains a space between words
> then the carbon log gives an error [2] saying "Required ConnectionURL
> property is not set at the LDAP configurations"
> Then I removed the space in between property "Connection URL" and save.
> Then carbon log gives another error [3] - "Required mandatory property
> Connection URL is not defined!"
> So I gave both "Connection URL" and "ConnectionURL" in xml file to solve
> the issue with ConnectionURL
>
> Same as above, I had to specify the same property with and without space
> to fix the errors in carbon log and there were some properties missing in
> the xml file too. had to add those manually.
> [4] shows the xml file after fixing all the errors. [missing properties
> shows in red color.]
>
> Still I can't see the Secondary user domain and users of the AD in users
> page. How can I fix this?
>
> [1]
>
> <?xml version="1.0" encoding="UTF-8"?><UserStoreManager
> class="org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager">
>       <Property name="*Connection Name*
> ">CN=Administrator,CN=Users,DC=wso2,DC=test</Property>
>       <Property name="Connection URL">ldaps://192.168.18.13:636</Property>
>       <Property name="Connection Password">pass#word2</Property>
>       <Property name="User Search Base">CN=Users,DC=wso2,DC=test</Property>
>       <Property name="Diabled">false</Property>
>       <Property name="User Object Class">(objectClass=user)</Property>
>       <Property name="Username Attribute">cn</Property>
>       <Property name="User Search
> Filter">(&amp;(objectClass=user)(cn=?))</Property>
>       <Property name="User Entry Object Class">user</Property>
>       <Property name="Group Entry Object Class">group</Property>
>       <Property name="Maximum User List Length">100</Property>
>       <Property name="Maximum Role List Length">100</Property>
>       <Property name="Enable User Role Cache">true</Property>
>       <Property name="Enable SCIM">false</Property>
>       <Property name="ReadGroups">true</Property>
>       <Property name="Group Search Base">CN=Users,DC=WSO2,DC=Com</Property>
>       <Property name="Group Object Class">(objectcategory=group)</Property>
>       <Property name="Group Name Attribute">cn</Property>
>       <Property name="Membership Attribute">member</Property>
>       <Property name="Member Of Attribute"/>
>       <Property name="Group Search
> Filter">(&amp;(objectClass=group)(cn=?))</Property>
>       <Property name="Password Hashing Algorithm">PLAIN_TEXT</Property>
>       <Property name="Password RegEx (Javascript)">^[\S]{5,30}$</Property>
>       <Property name="Username RegEx (Javascript)">^[\S]{3,30}$</Property>
>       <Property name="Username RegEx
> (Java)">[a-zA-Z0-9._-|//]{3,30}$</Property>
>       <Property name="Role Name RegEx (Javascript)">^[\S]{3,30}$</Property>
>       <Property name="Role Name RegEx
> (Java)">[a-zA-Z0-9._-|//]{3,30}$</Property>
>       <Property name="Enable Write Groups">true</Property>
>       <Property name="User DN
> Pattern">uid={0},ou=Users,dc=wso2,dc=org</Property>
>       <Property name="Allow Empty Roles">true</Property>
>       <Property name="Default Realm Name">WSO2.ORG</Property>
>       <Property name="Enable KDC">false</Property>
>       <Property name="Display Name Attribute">cn</Property>
>       <Property name="Is ADLDS Role">false</Property>
>       <Property name="User Account Control">512</Property>
>       <Property name="Referral">follow</Property>
>       <Property name="Enable Back Links">true</Property>
>       <Property name="DomainName">AD</Property>
>       <Property name="Description"/>
> </UserStoreManager>
>
> [2]
>
> [2015-06-04 11:32:59,024] ERROR
> {org.wso2.carbon.user.core.common.AbstractUserStoreManager} -  Cannot
> create org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager
> java.lang.reflect.InvocationTargetException
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>     at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>     at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>     at
> org.wso2.carbon.user.core.common.AbstractUserStoreManager.createSecondaryUserStoreManager(AbstractUserStoreManager.java:3469)
>     at
> org.wso2.carbon.user.core.common.AbstractUserStoreManager.addSecondaryUserStoreManager(AbstractUserStoreManager.java:3525)
>     at
> org.wso2.carbon.user.core.common.UserStoreDeploymentManager.deploy(UserStoreDeploymentManager.java:65)
>     at
> org.wso2.carbon.identity.user.store.configuration.deployer.UserStoreConfigurationDeployer.deploy(UserStoreConfigurationDeployer.java:58)
>     at
> org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
>     at
> org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)
>     at
> org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
>     at
> org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
>     at
> org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
>     at
> org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:135)
>     at
> org.wso2.carbon.core.CarbonAxisConfigurator.loadServices(CarbonAxisConfigurator.java:464)
>     at
> org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:95)
>     at
> org.wso2.carbon.core.CarbonConfigurationContextFactory.createNewConfigurationContext(CarbonConfigurationContextFactory.java:65)
>     at
> org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:398)
>     at
> org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219)
>     at
> org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:77)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:606)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
>     at
> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
>     at
> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
>     at
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
>     at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>     at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
>     at
> org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81)
>     at
> org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60)
>     at
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40)
>     at
> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38)
>     at
> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1267)
>     at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1186)
>     at
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
>     at
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
>     at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
>     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>     at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
>     at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>     at java.lang.Thread.run(Thread.java:745)
> Caused by: org.wso2.carbon.user.core.UserStoreException: Required
> ConnectionURL property is not set at the LDAP configurations
>     at
> org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.checkRequiredUserStoreConfigurations(ReadOnlyLDAPUserStoreManager.java:214)
>     at
> org.wso2.carbon.user.core.ldap.ReadWriteLDAPUserStoreManager.checkRequiredUserStoreConfigurations(ReadWriteLDAPUserStoreManager.java:1682)
>     at
> org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager.checkRequiredUserStoreConfigurations(ActiveDirectoryUserStoreManager.java:398)
>     at
> org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.<init>(ReadOnlyLDAPUserStoreManager.java:133)
>     at
> org.wso2.carbon.user.core.ldap.ReadWriteLDAPUserStoreManager.<init>(ReadWriteLDAPUserStoreManager.java:102)
>     at
> org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager.<init>(ActiveDirectoryUserStoreManager.java:85)
>     ... 56 more
>
> [3]
>
> [2015-06-04 11:35:34,128] ERROR
> {org.wso2.carbon.user.core.config.XMLProcessorUtils} -  Required mandatory
> property Connection URL is not defined!
> [2015-06-04 11:35:34,129] ERROR
> {org.wso2.carbon.user.core.config.UserStoreConfigXMLProcessor} -  Error
> while building user store manager from file
> org.wso2.carbon.user.core.UserStoreException: A required mandatory field
> is missing.
>     at
> org.wso2.carbon.user.core.config.UserStoreConfigXMLProcessor.buildUserStoreConfiguration(UserStoreConfigXMLProcessor.java:106)
>     at
> org.wso2.carbon.user.core.config.UserStoreConfigXMLProcessor.buildUserStoreConfigurationFromFile(UserStoreConfigXMLProcessor.java:70)
>     at
> org.wso2.carbon.user.core.common.UserStoreDeploymentManager.deploy(UserStoreDeploymentManager.java:43)
>     at
> org.wso2.carbon.identity.user.store.configuration.deployer.UserStoreConfigurationDeployer.deploy(UserStoreConfigurationDeployer.java:58)
>     at
> org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
>     at
> org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)
>     at
> org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
>     at
> org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
>     at
> org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
>     at
> org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371)
>     at
> org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
>     at
> org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
>     at
> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:79)
>     at
> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:124)
>     at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
>     at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
>     at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>     at java.lang.Thread.run(Thread.java:745)
> [2015-06-04 11:35:34,129]  INFO
> {org.apache.axis2.deployment.DeploymentEngine} -
> org.apache.axis2.deployment.DeploymentException: The deployment of AD.xml
> is not valid.
>
> [4]
>
> <?xml version="1.0" encoding="UTF-8"?><UserStoreManager
> class="org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager">
>       <Property name="Connection
> Name">CN=Administrator,CN=Users,DC=wso2,DC=test</Property>
> *      <Property
> name="ConnectionName">CN=Administrator,CN=Users,DC=wso2,DC=test</Property>*
>       <Property name="Connection URL">ldaps://192.168.18.13:636</Property>
> *      <Property name="ConnectionURL">ldaps://192.168.18.13:636
> <http://192.168.18.13:636></Property>*
>       <Property name="Connection Password">pass#word2</Property>
> *      <Property name="ConnectionPassword">pass#word2</Property>*
>       <Property name="User Search Base">CN=Users,DC=wso2,DC=test</Property>
> *      <Property name="UserSearchBase">CN=Users,DC=wso2,DC=test</Property>*
>       <Property name="Diabled">false</Property>
>       <Property name="User Object Class">(objectClass=user)</Property>
> *      <Property name="UserNameListFilter">(objectClass=user)</Property>*
>       <Property name="Username Attribute">cn</Property>
>       <Property name="UserNameAttribute">cn</Property>
>       <Property name="User Search
> Filter">(&amp;(objectClass=user)(cn=?))</Property>
> *      <Property
> name="UserNameSearchFilter">(&amp;(objectClass=user)(cn=?))</Property>*
>       <Property name="User Entry Object Class">user</Property>
> *      <Property name="UserEntryObjectClass">user</Property>*
>       <Property name="Group Entry Object Class">group</Property>
> *      <Property name="GroupEntryObjectClass">group</Property>*
>       <Property name="Maximum User List Length">100</Property>
>       <Property name="Maximum Role List Length">100</Property>
>       <Property name="Enable User Role Cache">true</Property>
>       <Property name="Enable SCIM">false</Property>
>       <Property name="ReadGroups">true</Property>
>       <Property name="Group Search Base">CN=Users,DC=WSO2,DC=Com</Property>
> *      <Property name="GroupSearchBase">CN=Users,DC=WSO2,DC=Com</Property>*
>       <Property name="Group Object Class">(objectcategory=group)</Property>
> *      <Property
> name="GroupNameListFilter">(objectcategory=group)</Property>*
>       <Property name="Group Name Attribute">cn</Property>
>       <Property name="GroupNameAttribute">cn</Property>
>       <Property name="Membership Attribute">member</Property>
>       <Property name="MembershipAttribute">member</Property>
>       <Property name="Member Of Attribute"/>
>       <Property name="Group Search
> Filter">(&amp;(objectClass=group)(cn=?))</Property>
> *      <Property
> name="GroupNameSearchFilter">(&amp;(objectClass=group)(cn=?))</Property>    *
>
>       <Property name="Password Hashing Algorithm">PLAIN_TEXT</Property>
>       <Property name="Password RegEx (Javascript)">^[\S]{5,30}$</Property>
>       <Property name="Username RegEx (Javascript)">^[\S]{3,30}$</Property>
>       <Property name="Username RegEx
> (Java)">[a-zA-Z0-9._-|//]{3,30}$</Property>
>       <Property name="Role Name RegEx (Javascript)">^[\S]{3,30}$</Property>
>       <Property name="Role Name RegEx
> (Java)">[a-zA-Z0-9._-|//]{3,30}$</Property>
>       <Property name="Enable Write Groups">true</Property>
>       <Property name="User DN
> Pattern">uid={0},ou=Users,dc=wso2,dc=org</Property>
>       <Property name="Allow Empty Roles">true</Property>
>       <Property name="Default Realm Name">WSO2.ORG</Property>
>       <Property name="Enable KDC">false</Property>
>       <Property name="Display Name Attribute">cn</Property>
>       <Property name="Is ADLDS Role">false</Property>
>       <Property name="User Account Control">512</Property>
>       <Property name="Referral">follow</Property>
>       <Property name="Enable Back Links">true</Property>
>       <Property name="DomainName">AD</Property>
>       <Property name="Description"/>
> </UserStoreManager>
>
> --
> Amalka Subasinghe
> Senior Software Engineer
> WSO2 Inc.
> Mobile: +94 77 9401267
>



-- 
Amalka Subasinghe
Senior Software Engineer
WSO2 Inc.
Mobile: +94 77 9401267
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to