2012-02-16 67 views
0

讓Liferay 4.4.2中的某些用戶當前處於活動狀態,並且都有有效的密碼。 在Liferay 6.0.6中擁有相同的用戶,所有用戶都添加了默認密碼。將Liferay 4.4.2的用戶密碼遷移到Liferay 6.0.6

你能提出一種方法,我可以將用戶的密碼從Liferay 4.4.2遷移到Liferay 6.0.6嗎?

試圖通過數據庫在用戶表中直接複製密碼(我知道它沒有提供建議,但我不得不從某處開始)。 沒有工作。

兩個版本中使用的加密算法都是MD5。編碼摘要中是否有區別? Liferay 4.4.2中沒有Digest Column,但可以在Liferay 6.0.6中看到一個

如何遷移密碼?

+1

你是否開始一個新的實例而不是更新現有的實例?如果更新,更新過程應該自行處理。我不知道這些版本中的密碼哈希值是否有差異(但您可能會這樣說) - 您可能會在升級例程中找到解決方案,但我無法告訴您升級版本的版本出現在其中。有一件事:正如你所知,不鼓勵直接更改數據庫:你可能只需要重新啓動以便獲得更改... – 2012-02-20 09:23:31

+0

是的。我沒有使用相同的數據庫。使用了一個新的實例。在更改後嘗試重新啓動,但沒有正面結果。我已經完成了腳本,但找不到任何會改變密碼字段的內容。嘗試隔離兩個Liferay版本的密碼哈希過程並比較結果。如果我找到任何東西,會發布。感謝Olaf :) – 2012-02-22 10:43:14

回答

0

目前使用忘記密碼功能來密切用戶改變他們的密碼,我知道是忙碌的。這是我做的:

ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); 
Company company = themeDisplay.getCompany(); 
ServiceContext serviceContext = ServiceContextFactory.getInstance(PortalUtil.getHttpServletRequest(actionRequest)); 
//Replace the variables with corresponding values 
UserLocalServiceUtil.sendPassword(companyId, emailAddress, remoteAddr, remoteHost, userAgent, fromName, fromAddress, subject, body, serviceContext); 

任何更好的解決方案,歡迎。