创建用户存储时出现 WSO2 IS 错误
WSO2 IS error when creating user store
当我尝试在 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 用户存储中的用户存储中看到用户。但是,如果我尝试更新 "forced" 用户存储,它会不断抛出错误。
我正在使用 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>
这有什么问题吗?是否需要额外配置?
这发生在 Windows 因为文件路径编码。目前这不是从 WSO2 方面修复的。作为解决方法,您可以重命名 WSO2IS~1.0 文件夹而不包含“~”字符。例如。用 WSO2IS 重命名它并尝试。
解决方法很简单。将环境变量 CARBON_HOME 设置为您的 wso2 IS 文件夹的路径。
当我尝试在 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 用户存储中的用户存储中看到用户。但是,如果我尝试更新 "forced" 用户存储,它会不断抛出错误。
我正在使用 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>
这有什么问题吗?是否需要额外配置?
这发生在 Windows 因为文件路径编码。目前这不是从 WSO2 方面修复的。作为解决方法,您可以重命名 WSO2IS~1.0 文件夹而不包含“~”字符。例如。用 WSO2IS 重命名它并尝试。
解决方法很简单。将环境变量 CARBON_HOME 设置为您的 wso2 IS 文件夹的路径。