天天看點

LDAP error Code 及解決方法

原文位址:[url]http://blog.csdn.net/techchan/article/details/5440775[/url]

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 [email protected]".

原因:這是由于“密碼不能滿足密碼政策的要求”導緻

解決方案:

1. 打開域安全政策-安全設定-賬戶政策-密碼政策-密碼必須符合複雜性要求。定義這個政策設定為:已禁用。/ 密碼長度最小值:定義這個政策設定為0。

2. 打開域控制器安全政策-安全設定-賬戶政策-密碼政策-密碼必須符合複雜性要求。定義這個政策設定為:已禁用。/ 密碼長度最小值:定義這個政策設定為0。

3. 最後運作重新整理組政策指令為:gpupdate /force

===========================================================================

2. Need to specify class name

===========================================================================

javax.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 50

===========================================================================

javax.naming.NoPermissionException: [LDAP: error code 50 - 00002098: SecErr: DSID-03150A45, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0

4. error code 68

===========================================================================

javax.naming.NameAlreadyBoundException: [LDAP: error code 68 - 00000524: UpdErr: DSID-031A0F4F, problem 6005 (ENTRY_EXISTS), data 0

原因:建立的使用者已經存在了

7. No trusted certificate

===========================================================================

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found

1.cas機器A,A上a,b,c服務運作良好

2.website 位于B機器,cas可以截獲請求,跳轉javax.net.ssl.SSLHandshakeException

将A上生生成的用戶端密鑰,導入B

A運作

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 changeit

B運作最後一句即可

建立信任關系,客戶,服務密鑰,客戶多處

8. error code 1

===========================================================================

javax.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);

9. error code 50

==========================================================================

javax.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);

10. error code 19

==========================================================================

javax.naming.directory.InvalidAttributeValueException: [LDAP: error code 19 - 0000052D: AtrErr: DSID-03190F00, #1:

0: 0000052D: DSID-03190F00, problem 1005 (CONSTRAINT_ATT_TYPE)

原因:這個最大的可能是不滿足域安全政策:如密碼複雜性、密碼最短使用期限、強制密碼曆史。即長度、包含的字元、多久可以修改密碼、是否可以使用曆史密碼等。

11. LDAP: error code 50

==========================================================================

javax.naming.NoPermissionException: [LDAP: error code 50 - 00000005: SecErr: DSID-031A0F44, problem 4003 (INSUFF_ACCESS_RIGHTS)

原因:這個是最初代碼使用的replace操作,這個在AD裡對應的是密碼重設(普通使用者預設沒有這個權限,管理者可以操作),另外remove操作時提供的舊密碼錯誤也可能報這個異常

12. RSA premaster secret error

==========================================================================

javax.naming.CommunicationException: simple bind failed: 172.18.20.4:636

原因:Tomcat 配置的JDK與添加證書的的JDK不一緻。如:證書存放路徑為C:/Java/jdk1.6.0_10/jre/lib/cacerts 而Tomcat 配置的JDK為C:/Java/jre6 ,使得兩者路徑不一緻,SSL驗證的時候,找不到證書

13.No trusted certificate found

==========================================================================

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found

原因:信任證書庫檔案路徑不正确

解決方法:将正确工程中 /WEB-INF/classes目錄下

繼續閱讀