我配置了多個域控制器,並且想要修改所有域內用戶的用戶屬性。Spring LdapContextSource不同的域控制器
我的配置是這樣的:
<bean id="writeLdapContextSource"
class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" value="ldap://123.12.123.3:389" />
<property name="base" value="" />
<property name="userDn" value="domainx\userabc" />
<property name="password" value="secret124" />
<property name="pooled" value="false"/>
<property name="referral" value="follow"/>
</bean>
我可以成功地在本地域內修改用戶。沒問題。
但是,如果我嘗試修改不同域中的用戶,則會收到錯誤消息。
注意: ldap服務用戶「domainx \ userabc」具有在所有域中進行修改的正確授權。
實例:javax.naming.OperationNotSupportedException:
1)在另一域中
由導致了用戶的屬性的修改[LDAP:錯誤代碼53 - 00000057:LdapErr:DSID- 0C04214C,註釋:錯誤屬性轉換操作,數據0,v1db1
2.)更改的配置使用端口3268,而不是389
產生的原因:javax.naming.OperationNotSupportedException:LDAP:錯誤代碼53 - 00002035:LdapErr:DSID-0C090B45,註釋:操作未通過GC端口允許,數據0,v1db1
注:我'能夠修改本地域中的用戶屬性。所以我的修改代碼是正確的。
段:
DirContextOperations context = writeLdapTemplate.lookupContext(ldapUser.getDistinguishedName());
context.addAttributeValue(attributeName, attributeValue);
writeLdapTemplate.modifyAttributes(context);
這完全適用於本地域中的用戶。
任何人都有一個想法該怎麼做才能夠修改其他域中的用戶?
我還檢查與LDAP瀏覽器用戶自己也能看到所有域...