当我尝试在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">(&(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">(&(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>
这有什么问题吗?是否需要额外的配置?
答案 0 :(得分:1)
由于文件路径编码,在Windows中会发生这种情况。目前这不是从WSO2方面修复的。作为解决方法,您可以重命名WSO2IS~1.0文件夹,不包含'〜'字符。例如。用WSO2IS重命名并尝试。
答案 1 :(得分:1)
解决方案很简单。将环境变量CARBON_HOME设置为wso2 IS文件夹的路径。