创建用户存储时WSO2 IS错误

时间:2017-04-03 14:33:56

标签: wso2 wso2is

当我尝试在WSO2 IS 5.3.0中创建LDAP Base用户存储时,我总是收到以下错误:

TID: [-1234] [] [2017-04-03 11:40:49,521] ERROR {org.wso2.carbon.identity.user.store.configuration.UserStoreConfigAdminService} -   Error occurred during the transformation process of C:\WSO2IS~1.0\bin\..\repository\deployment\server\userstores\myUserStore.xml
org.wso2.carbon.identity.user.store.configuration.utils.IdentityUserStoreMgtException:  Error occurred during the transformation process of C:\WSO2IS~1.0\bin\..\repository\deployment\server\userstores\myUserSotre.xml

我尝试过以前的版本,直到5.0.0才失败,我成功创建了用户存储。 WSO2 ESB中的用户存储配置似乎与WSO2 IS用户存储的工作方式相同,因此,我在WSO2 ESB中配置了用户存储,并将WSO2 ESB生成的myUserSotre.xml复制到IS未能找到的相同路径中文件。

这有效,并导致WSO2 IS识别用户存储。我可以在WSO2 IS用户存储中看到用户存储中的用户。但是,如果我尝试更新"强制"用户存储,它不断抛出错误。

我正在使用Windows 7和jdk 8.

这是来自ESB和IS 5.0.0的xml,如果我将其粘贴到IS 5.3中,则可以使用

<?xml version="1.0" encoding="UTF-8"?>
<UserStoreManager class="org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager">
      <Property name="ConnectionName">cn=Manager,dc=company,dc=com</Property>
      <Property name="ConnectionURL">ldap://IP:HOST</Property>
      <Property name="ConnectionPassword">password</Property>
      <Property name="UserSearchBase">ou=People,dc=company,dc=com</Property>
      <Property name="Disabled">false</Property>
      <Property name="UserNameListFilter">(objectClass=person)</Property>
      <Property name="UserNameAttribute">uid</Property>
      <Property name="UserNameSearchFilter">(&amp;(objectClass=person)(uid=?))</Property>
      <Property name="ReadOnly">true</Property>
      <Property name="MaxUserNameListLength">100</Property>
      <Property name="MaxRoleNameListLength">100</Property>
      <Property name="UserRolesCacheEnabled">true</Property>
      <Property name="SCIMEnabled">false</Property>
      <Property name="ReadGroups">false</Property>
      <Property name="GroupSearchBase">ou=system</Property>
      <Property name="GroupNameListFilter">(objectClass=groupOfNames)</Property>
      <Property name="GroupNameSearchFilter">(&amp;(objectClass=groupOfNames)(cn=?))</Property>
      <Property name="GroupNameAttribute">cn</Property>
      <Property name="MembershipAttribute">member</Property>
      <Property name="MemberOfAttribute"/>
      <Property name="PasswordHashMethod">PLAIN_TEXT</Property>
      <Property name="ReplaceEscapeCharactersAtUserLogin">true</Property>
      <Property name="DomainName">ldap</Property>
      <Property name="Description"/>
</UserStoreManager>

这有什么问题吗?是否需要额外的配置?

2 个答案:

答案 0 :(得分:1)

由于文件路径编码,在Windows中会发生这种情况。目前这不是从WSO2方面修复的。作为解决方法,您可以重命名WSO2IS~1.0文件夹,不包含'〜'字符。例如。用WSO2IS重命名并尝试。

答案 1 :(得分:1)

解决方案很简单。将环境变量CARBON_HOME设置为wso2 IS文件夹的路径。