0

我想使用外部 JDBC 存储作为默认存储而不是默认 LDAP 存储。遵循此链接中的文档。

http://docs.wso2.org/wiki/display/IS400/Configuring+an+External+JDBC+User+Store

获得以下异常感谢任何帮助。

启动 LDAP server.java.lang.NullPointerException 时发生未知异常:名称为空

4

2 回答 2

2

您可以使用外部 JDBC 用户存储配置 WSO2 IS 4.0.0。问题是由于文档(1)中的说明存在问题,因为那里缺少一些配置步骤。我创建了 jira [DOCUMENTATION-17]跟踪这个文档问题。请按照以下步骤将 IS 4.0.0 与外部 jdbc 用户存储连接。

1) 将 UserStoreManager 类从 user-mgt.xml [IS_Home/repository/conf] 更改为 JDBCUserStoreManager 并将相关的数据库连接属性添加到其中,如 (1) 中所述

2) 在 JDBCUserStoreManager 中添加“passwordHashMethod”属性,并在 {IS_HOME}/repository/conf/user-mgt.xml 中将值设置为“SHA”或“PLAIN_TEXT”。例如:<Property name="passwordHashMethod">SHA</Property>

3) 在 {IS_HOME}/repository/conf/user-mgt.xml 中将“MultiTenantRealmConfigBuilder”属性的值设置为“org.wso2.carbon.user.core.config.multitenancy.SimpleRealmConfigBuilder”。

例如:<Property name="MultiTenantRealmConfigBuilder">org.wso2.carbon.user.core.config.multitenancy.SimpleRealmConfigBuilder</Property>

4) 在tenant-mgt.xml 中启用JDBCTenantManager 并注释掉CommonHybridLDAPTenantManager 的配置部分。

完成上述配置后,您就可以成功地将 WSO2 身份服务器配置为外部 jdbc 用户存储。

(1) http://docs.wso2.org/wiki/display/IS400/Configuring+an+External+JDBC+User+Store

于 2013-02-03T14:04:18.350 回答
1

我能够解决这个问题。

如果可能,从全新安装 WSO2 IS 4.0.0 开始。

除了按照文档中给出的说明设置 JDBC 数据存储;您需要执行以下操作:

  1. 启用JDBCTenantManagertenant-mgt.xml注释掉CommonHybridLDAPTenantManager2
  2. enableEmbeddedLDAP 的属性设置为 falseembedded-ldap.xml
于 2013-02-01T00:02:00.507 回答