2017-07-16 31 views
0

使用OpenAM SDK更改数据存储区配置时,除密码之外的任何操作都可以正常运行。即使我给出相关属性“sun-idrepo-ldapv3-config-authpw”,密码也会重置为空字符串。我尝试了很多情况:从属性中删除字段,并给出一组字符串。他们都没有让我的密码完好无损!从OpenAM SDK更改LDAP数据存储区配置

这里是我的代码部分:

fun setDataStoreConfig(realmName: String, storeName: String, newAttrs: Map<*,*>) { 
    val srvConf = ServiceConfigManager(IdConstants.REPO_SERVICE, getUserSSOToken()) 
    val orgConf = srvConf.getOrganizationConfig(realmName, null) 
    val subConf = orgConf.getSubConfig(storeName) 
    val attrs = subConf.attributes 
    attrs.putAll(newAttrs) 
    attrs["sun-idrepo-ldapv3-config-authpw"]=setOf("*********") 
    subConf.attributes = attrs 
} 
+0

显然,将这​​些信息保存到目录服务时,会添加一些盐!我不确定这些盐是由OpenAM还是OpenDJ本身添加的!请帮帮我! – Kamyar

回答

1

的ClientSDK和OpenAM服务器必须使用相同的加密密钥(am.encryption.pwd财产AMConfig.properties在ClientSDK侧)。

请注意,ClientSDK已被弃用,并强烈建议不要在新部署中使用它。

+0

我别无选择! OpenAM 13是越野车(必须使用OpenDJ 3,它是越野车!)我使用的是OpenAM 12,对于这种操作,没有RESTful API! – Kamyar

+0

我只是在此处添加警告以警告其他人,他们可以选择... –

+0

您的解决方案解决了我的问题!真的感谢!我浪费了大约2个工作日的时间,并最终通过从Directory Service预留密码并使用OpenDJ SDK重新恢复它来暂时解决问题!但是现在我解决了这个问题并删除了脏的DS代码! – Kamyar