如何使用LDAP配置WSO2标识?

如何使用LDAP配置WSO2标识?,ldap,wso2,identity,openldap,wso2is,Ldap,Wso2,Identity,Openldap,Wso2is,如何使用LDAP配置WSO2标识 我将user-mgt.xml更改为: <UserManager> <Realm> <Configuration> <AdminRole>admin</AdminRole> <AdminUser> <UserName>admin</UserName>

如何使用LDAP配置WSO2标识

我将user-mgt.xml更改为:

    <UserManager>
    <Realm>
        <Configuration>
            <AdminRole>admin</AdminRole>
            <AdminUser>
            <UserName>admin</UserName>
            <Password>admin</Password>
            </AdminUser>
        <EveryOneRoleName>everyone</EveryOneRoleName>
        <Property name="url">jdbc:h2:repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE</Property>
        <Property name="userName">wso2carbon</Property>
        <Property name="password">wso2carbon</Property>
        <Property name="driverName">org.h2.Driver</Property>
        <Property name="maxActive">50</Property>
        <Property name="maxWait">60000</Property>
        <Property name="minIdle">5</Property>
        </Configuration>

        <UserStoreManager class="org.wso2.carbon.user.core.ldap.ApacheDSUserStoreManager">
        <Property name="ReadOnly">true</Property>
        <Property name="ConnectionURL">ldap://ldap.curitiba.pr.gov.br:389</Property>
        <Property name="ConnectionName">o=ICI</Property>
        <Property name="UserNameListFilter">(objectClass=person)</Property>
        <Property name="UserEntryObjectClass">wso2Person</Property>
        <Property name="UserSearchBase">ou=users,dc=ICI,ou=domains,o=ICI</Property>
        <Property name="UserNameSearchFilter">(&amp;(objectClass=person)(uid=?))</Property>
        <Property name="UserNameAttribute">uid</Property>
        <Property name="PasswordJavaScriptRegEx">[\\S]{5,30}</Property>
        <Property name="UsernameJavaScriptRegEx">[\\S]{3,30}</Property>
        <Property name="UsernameJavaRegEx">^[^~!@#$;%^*+={}\\|\\\\&lt;&gt;]{3,30}$</Property>
        <Property name="RolenameJavaScriptRegEx">[\\S]{3,30}</Property>
        <Property name="RolenameJavaRegEx">^[^~!@#$;%^*+={}\\|\\\\&lt;&gt;]{3,30}$</Property>
        <Property name="ReadLDAPGroups">false</Property>
        <Property name="WriteLDAPGroups">false</Property>
        <Property name="EmptyRolesAllowed">false</Property>
        <Property name="GroupSearchBase">ou=Groups,dc=wso2,dc=org</Property>
        <Property name="GroupNameListFilter">(objectClass=groupOfNames)</Property>
        <Property name="GroupEntryObjectClass">groupOfNames</Property>
        <Property name="GroupNameSearchFilter">(&amp;(objectClass=groupOfNames)(cn=?))</Property>
        <Property name="GroupNameAttribute">cn</Property>
        <Property name="MembershipAttribute">member</Property>
        <Property name="UserRolesCacheEnabled">true</Property>
        </UserStoreManager> 
    </Realm>
    </UserManager>

管理
管理
管理
每个人
jdbc:h2:repository/database/WSO2CARBON\u DB;DB\u关闭\u打开\u退出=错误
WSO2碳
WSO2碳
org.h2.Driver
50
60000
5.
真的
ldap://ldap.curitiba.pr.gov.br:389
o=ICI
(objectClass=person)
wso2Person
ou=用户,dc=ICI,ou=域,o=ICI
(&;(objectClass=person)(uid=?)
液体
[\\S]{5,30}
[\\S]{3,30}
^[^~!@#$;%^*+={}\\|\\\\]{3,30}$
[\\S]{3,30}
^[^~!@#$;%^*+={}\\|\\\\]{3,30}$
假的
假的
假的
ou=团体,dc=wso2,dc=组织
(objectClass=groupOfNames)
群名
(&;(objectClass=groupof名称)(cn=?)
cn
成员
真的
但它不起作用

以下是日志的内容:

[2012-08-20 18:32:03,209]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Starting WSO2 Carbon...
[2012-08-20 18:32:03,209]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Operating System : Linux 2.6.37.6-smp, i386
[2012-08-20 18:32:03,209]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java Home        : /usr/lib/java
[2012-08-20 18:32:03,209]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java Version     : 1.6.0_25
[2012-08-20 18:32:03,210]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java VM          : Java HotSpot(TM) Server VM 20.0-b11,Sun Microsystems Inc.
[2012-08-20 18:32:03,210]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Carbon Home      : /soa/srvapp/IdentityServer
[2012-08-20 18:32:03,210]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java Temp Dir    : /soa/srvapp/IdentityServer/tmp
[2012-08-20 18:32:03,210]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  User             : root, en-US, America/Sao_Paulo
[2012-08-20 18:32:06,645]  INFO {org.wso2.carbon.ldap.server.configuration.LDAPConfigurationBuilder} -  KDC server is disabled.
[2012-08-20 18:32:06,649]  INFO {org.wso2.carbon.ldap.server.DirectoryActivator} -  Initializing Directory Server with working directory /soa/srvapp/IdentityServer/repository/data/org.wso2.carbon.directory and port 10390
[2012-08-20 18:32:10,665] ERROR {org.wso2.carbon.user.core.internal.Activator} -  Cannot start User Manager Core bundle
java.lang.NullPointerException
        at org.wso2.carbon.user.core.config.RealmConfigXMLProcessor.buildRealmConfiguration(RealmConfigXMLProcessor.java:170)
        at org.wso2.carbon.user.core.common.DefaultRealmService.buildBootStrapRealmConfig(DefaultRealmService.java:150)
        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:86)
        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:124)
        at org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:64)
        at org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:54)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:782)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:773)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:754)
        at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
        at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:330)
[2012-08-20 18:32:03209]信息{org.wso2.carbon.core.internal.CarbonCoreActivator}-启动wso2 carbon。。。
[2012-08-20 18:32:03209]信息{org.wso2.carbon.core.internal.CarbonCoreActivator}-操作系统:Linux 2.6.37.6-smp,i386
[2012-08-20 18:32:03209]信息{org.wso2.carbon.core.internal.CarbonCoreActivator}-Java主页:/usr/lib/Java
[2012-08-20 18:32:03209]信息{org.wso2.carbon.core.internal.CarbonCoreActivator}-Java版本:1.6.025
[2012-08-20 18:32:03210]信息{org.wso2.carbon.core.internal.CarbonCoreActivator}-Java虚拟机:Java热点(TM)服务器虚拟机20.0-b11,太阳微系统公司。
[2012-08-20 18:32:03210]信息{org.wso2.carbon.core.internal.CarbonCoreActivator}-carbon Home:/soa/srvapp/IdentityServer
[2012-08-20 18:32:03210]信息{org.wso2.carbon.core.internal.CarbonCoreActivator}-Java临时目录:/soa/srvapp/IdentityServer/tmp
[2012-08-20 18:32:03210]信息{org.wso2.carbon.core.internal.CarbonCoreActivator}-用户:美国en-US根/圣保罗
[2012-08-20 18:32:06645]信息{org.wso2.carbon.ldap.server.configuration.LDAPConfigurationBuilder}-KDC服务器已禁用。
[2012-08-20 18:32:06649]信息{org.wso2.carbon.ldap.server.DirectoryActivator}-使用工作目录/soa/srvapp/IdentityServer/repository/data/org.wso2.carbon.Directory和端口10390初始化目录服务器
[2012-08-20 18:32:10665]错误{org.wso2.carbon.user.core.internal.Activator}-无法启动user Manager核心捆绑包
java.lang.NullPointerException
位于org.wso2.carbon.user.core.config.RealmConfigXMLProcessor.buildRealmConfiguration(RealmConfigXMLProcessor.java:170)
在org.wso2.carbon.user.core.common.DefaultRealmService.buildBootStrapRealmConfig(DefaultRealmService.java:150)上
位于org.wso2.carbon.user.core.common.DefaultRealmService。(DefaultRealmService.java:86)
位于org.wso2.carbon.user.core.common.DefaultRealmService。(DefaultRealmService.java:124)
位于org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:64)
位于org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:54)
位于org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:782)
位于java.security.AccessController.doPrivileged(本机方法)
位于org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:773)
位于org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:754)
位于org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
位于org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
位于org.eclipse.osgi.framework.internal.core.framework.resumeBundle(framework.java:1068)
位于org.eclipse.osgi.framework.internal.core.startevelmanager.resumeBundles(startevelmanager.java:557)
位于org.eclipse.osgi.framework.internal.core.startevelmanager.incFWSL(startevelmanager.java:464)
位于org.eclipse.osgi.framework.internal.core.startevelmanager.dosetstartevel(startevelmanager.java:248)
位于org.eclipse.osgi.framework.internal.core.startevelmanager.dispatchEvent(startevelmanager.java:445)
位于org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220)
位于org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:330)

这看起来像是完整堆栈跟踪的一部分。无论如何,我在user-mgt.xml中看到一个明显的无效配置。您使用了组织单位对象作为连接名称,这是错误的

<Property name="ConnectionName">o=ICI</Property>
o=ICI
您必须使用OpenLDAP中的有效用户作为连接名称。比如说,

<Property name="ConnectionName">cn=SomeUser,ou=users,dc=ICI,ou=domains,o=ICI</Property>
cn=SomeUser,ou=users,dc=ICI,ou=domains,o=ICI

请附上完整的日志。需要查看完整的堆栈跟踪。您要连接到的LDAP用户存储的类型是什么?我了解,现在是以下日志:
2012-08-21 16:21:09694]错误{org.wso2.carbon.user.core.LDAP.LDAPUserStoreManager}-如果没有管理员用户名,carbon将无法运行
以前您使用的是ApachedUserStoreManager,它在读/写模式下工作。但是现在我看到您正在使用LDAPUserStoreManager,它只在只读模式下工作。因此,请确保在OpenLDAP中有名为“admin”的用户。这是您在配置中定义为admin的用户名。很抱歉,我只能使用admin中的用户登录,而ldap中的用户不能:(您必须为其他用户提供登录权限。您可以创建角色、为这些角色分配权限以及向这些角色添加用户。默认情况下,所有用户都被分配到没有登录权限的everyone角色。建议的方法是创建一个角色,提供登录权限