2013-08-22 40 views
1

我已經集成了OpenDJOpenAM。在OpenDJ中創建的用戶反映在OpenAM中,並且能夠登錄到OpenAM。我在OpenDJ中使用了SHA-1作爲密碼存儲方案。 OpenDJ也從Liferay進口用戶,其中也有SHA-1密碼存儲方案。問題是我無法登錄到OpenAM。登錄失敗。 爲什麼在OpenDJ中創建的用戶可以登錄到OpenAM,但不是從Liferay導入的用戶,儘管用戶也反映在OpenAM中嗎?如何解決這個問題?Liferay與OpenAM和OpenDJ的集成

+0

嗨星雲,你可以在博客中分享這個實驗的經驗等等。還有什麼樣的系統配置,你建議Open AM和Open DJ以及你在部署後看到了什麼樣的增長(檢查微/小實例對於這些部署將足夠好) –

回答

1

您可能會檢查OpenAM驗證模塊調試日誌..不確定您使用哪個驗證模塊。

如果您使用LDAP授權模塊,則OpenAM將執行LDAP'BIND'操作。在服務器端比較密碼,而不是客戶端(OpenAM)端。順便說一句,密碼以明文形式從OpenAM發送到OpenDJ。

-Bernhard

+0

我正在使用LDAP授權模塊。密碼在OpenDJ中被散列爲SHA-1。我只是困惑的是,在OpenDJ中創建的用戶可以登錄,但不能將從Liferay導入到OpenDJ的用戶登錄,即使用戶反映在OpenAM中。 – nebula

+0

您驗證從Liferay導入的SHA-1的密碼可以由OpenDJ處理。 OpenDJ提供了一個可用於此的「編碼密碼」工具。 –

1

使用了Ludovic和Bernhard提供的幫助,似乎Liferay的不是創造OpenDJ一個密碼,我的新用戶風與一個條目:

的userPassword:{ NONE} null

這似乎是bug版本6.1。據說在6.2版本中是固定的。

1

您可以嘗試檢查Liferay使用嗅探器寫入OpenDJ的內容。默認 ldap.auth.password.encryption.algorithm爲NONE,其具有 在OpenDJ中使用{NONE}算法創建密碼的有趣效果,並且通過OpenDJ 不喜歡這些。您可以嘗試將

ldap.auth.password.encryption.algorithm=SHA1 

添加到您的Liferay portal-ext.properties文件中。