我无法在Identity Server 5.6.0上的repository / conf / identity / embedded-ldap.xml文件中加密嵌入式LDAP密码。 我在Embedded-ldap.xml文件中加密了密码。 在“ cipher-tool.properties”文件中,我有字符串:
EmbeddedLdap.Property.ConnectionPassword = repository / conf / identity / embedded-ldap.xml // EmbeddedLDAPConfig / EmbeddedLDAP / Property [@ name ='connectionPassword'],错误。
在cipher-text.properties中,我已经为其加密了密码。 但是当我启动Identity Server时出现错误:
LDAP:错误代码49-INVALID_CREDENTIALS:绑定失败:ERR_229无法验证用户uid = admin,ou = system。
如何加密嵌入式Ldap密码?
Embedded-ldap.xml文件中还存在“ PartitionAdmin”密码。我加密了。使用此加密密码可以正常启动IS。
答案 0 :(得分:0)
我测试了该方案,并发现它没有通过遵循cipher-text.properties
从<IS_HOME>/repository/conf/identity/embedded-ldap.xml
文件中获取secretAlias="EmbeddedLdap.Property.ConnectionPassword"
中“ connectionPassword”属性的值。
相反,它使用embedded-ldap.xml
文件内联定义的值。因为,如果我们按如下所示在embedded-ldap.xml
文件中添加正确的密码,则服务器启动不会失败。 (注:“ test123”是我在user-mgt.xml
中为UserStoreManager定义为“ ConnectionPassword”的密码)
<EmbeddedLDAP>
<Property name="connectionPassword" svns:secretAlias="EmbeddedLdap.Property.ConnectionPassword">test123</Property>
因此,这似乎是WSO2 Identity Server中的错误/局限性,您可以通过在GitHub repository中打开问题来进行报告。
但是,请注意,嵌入式LDAP仅用于评估目的。请在生产环境中使用外部用户存储(LDAP或JDBC)。