安安 - ldap
type: channel
link: https://blog.90.vc/tag/ldap/
items: 对接LDAP错误码及常见处理方法
items: 修改AD查询条数限制

对接LDAP错误码及常见处理方法
type: item
date: 2020-02-13T15:41:00+00:00
description: 1. error code 53问题：创建新用户时出现数据后端异常在 WebSphere Portal Express 中，您可以设置密码的最短和最长长度。如果设置的密码长度与 LDAP 服务器的策略不相同，则在创建用户时您可能会看到以下异常：EJPSG0015E: Data Backend Problem com.ibm.websphere.wmm.exception.WMMSystemException: The following Naming Exception occurred during processing: "javax.naming.OperationNotSupportedException: [LDAP: error code 53 - 0000052D: SvcErr: DSID-031A0FBC, problem 5003 (WILL_NOT_PERFORM), data 0 ]; remaining name 'cn=see1anna,cn=users,dc=wps510,dc=rtp,dc=raleigh,dc=ibm,dc=com'; resolved object com.sun.jndi.ldap.LdapCtx@7075b1b4".原因：这是由于“密码不能满足密码策略的要求”导致解决方案：打开域安全策略-安全设置-账户策略-密码策略-密码必须符合复杂性要求。定义这个策略设置为:已禁用。/ 密码长度最小值：定义这个策略设置为0。打开域控制器安全策略-安全设置-账户策略-密码策略-密码必须符合复杂性要求。定义这个策略设置为：已禁用。/ 密码长度最小值：定义这个策略设置为0。最后运行刷新组策略命令为：gpupdate /force2. Need to specify class namejavax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial原因：LdapContext在处理完上个环节被close(),LdapContext=null;解决方案：不close;3. error code 68javax.naming.NameAlreadyBoundException: [LDAP: error code 68 - 00000524: UpdErr: DSID-031A0F4F, problem 6005 (ENTRY_EXISTS), data 0原因：创建的用户已经存在了4. No trusted certificatejavax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate foundcas机器A，A上a,b,c服务运行良好website 位于B机器，cas可以截获请求，跳转javax.net.ssl.SSLHandshakeException将A上生生成的客户端密钥，导入BA运行sudo keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600 $ keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit $ sudo keytool -import -trustcacerts -alias tomcat -file server.cer -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeitB运行最后一句即可建立信任关系，客户，服务密钥，客户多处5. error code 1javax.naming.NamingException: [LDAP: error code 1 - 00000000: LdapErr: DSID-0C090AE2, comment: In order to perform this operation a successful bind must be completed on th…

修改AD查询条数限制
type: item
date: 2018-11-01T09:02:00+00:00
description: 在测试中，常遇到需要测试我们系统的AD/LDAP大用户量展现和下载功能，但windows server似乎限制该查询数量为1000，使用包括ldap browser在内的工具，也不能将我们AD server上面的10000用户展现完全。其实这个问题在微软的网站已经给出了解决方案，在微软网站搜索“ad 1000“就能找到：http://support.microsoft.com/kb/315071其原因是windows server出于性能负荷的考虑，将LDAP查询的数量限制为1000个。当AD中的条目（user/group/ou）数量超过1000条时，使用LDAP查询工具进行查询时，就会导致查询结果返回出错。我们所使用的AD用户已超过10000，因此导入用户时，就会有出错信息提示。而且每次最多也只能够展示和导入1000个用户。解决办法可以参见微软网站，这里也作一个记录，以免以后遗忘。步骤如下（建议查看微软网站的描述，其中可控参数描述得很详细）：在“开始”-〉“运行”-〉输入：“ ntdsutil”，回车；输入：“ldap policies”,回车；输入：“connections”，回车；输入：“connect to domain 当前域名”在本案例中，域名是：cm-inv.com连接提示出现后，输入：“quit”，回车；输入：“show values”，确认当前的最大返回数；（默认是1000）输入：“set maxpagesize to 10000”，将最大返回数改为10000。（最大返回数可以根据实际情况自行定义）。再度输入：“show values”，确认当前的最大返回数（显示为：1000（10000））。输入“commit changes”以确认修改。再次输入：“show values”，确认当前的最大返回数为10000。输入“quit”，退出设置状态；输入“quit”，退出当前命令。