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 the connection., data 0, vece原因：新增域用户的时候，ctx没有绑定管理员用户解决方法：ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, adminUser + "@" + ldapProperty.getDomain()); ctx.addToEnvironment(Context.SECURITY_CREDENTIALS, adminPwd);6. error code 50javax.naming.NoPermissionException: [LDAP: error code 50 - 00000005: SecErr: DSID-03151E04, problem 4003 (INSUFF_ACCESS_RIGHTS)原因：新建域用户时候，ctx绑定到一个普通用户（该用户没有新建用户的权限）解决方法：使用管理员用户进行绑定： ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, adminUser + "@" + ldapProperty.getDomain()); ctx.addToEnvironment(Context.SECURITY_CREDENTIALS, adminPwd);7. error code 19javax.naming.directory.InvalidAttributeValueException: [LDAP: error code 19 - 0000052D: AtrErr: DSID-03190F00, #1: 0: 0000052D: DSID-03190F00, problem 1005 (CONSTRAINT_ATT_TYPE)原因：这个最大的可能是不满足域安全策略：如密码复杂性、密码最短使用期限、强制密码历史。即长度、包含的字符、多久可以修改密码、是否可以使用历史密码等。8. LDAP: error code 50javax.naming.NoPermissionException: [LDAP: error code 50 - 00000005: SecErr: DSID-031A0F44, problem 4003 (INSUFF_ACCESS_RIGHTS)原因:这个是最初代码使用的replace操作，这个在AD里对应的是密码重设（普通用户默认没有这个权限，管理员可以操作），另外remove操作时提供的旧密码错误也可能报这个异常9. RSA premaster secret errorjavax.naming.CommunicationException: simple bind failed: 172.18.20.4:636 [Root exception is javax.net.ssl.SSLKeyException: RSA premaster secret error]原因：Tomcat 配置的JDK与添加证书的的JDK不一致。如：证书存放路径为C:/Java/jdk1.6.0_10/jre/lib/cacerts 而Tomcat 配置的JDK为C:/Java/jre6 ，使得两者路径不一致，SSL验证的时候，找不到证书10. No trusted certificate foundjavax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found原因：信任证书库文件路径不正确解决方法：将正确工程中 /WEB-INF/classes目录下11. error code 49javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 52e, vece原因：用户名或密码错误
在测试中，常遇到需要测试我们系统的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”，退出当前命令。