【问题标题】:Migrate User Passwords from Liferay 4.4.2 to Liferay 6.0.6将用户密码从 Liferay 4.4.2 迁移到 Liferay 6.0.6
【发布时间】:2012-02-16 11:14:17
【问题描述】:

在 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可以看到一个

如何迁移密码?

【问题讨论】:

  • 您是否启动一个新实例而不是更新现有实例?如果您更新,更新过程应自行处理此问题。我不知道这些版本中的密码散列之间是否存在差异(但正如您所说的那样可能存在)-您可能会在升级例程中找到解决方案,但我无法告诉您升级会有什么版本出现了。一件事:如您所知,不鼓励直接更改数据库:您可能只需要重新启动以获取更改...
  • 是的。我没有使用相同的数据库。使用了一个新的实例。更改后尝试重新启动,但没有积极结果。我浏览了脚本,但找不到任何会更改密码字段的内容。试图隔离两个 Liferay 版本的密码哈希过程并比较结果。如果我发现任何东西会发布。谢谢奥拉夫 :)

标签: liferay database-migration liferay-6


【解决方案1】:

目前使用忘记密码功能提示用户更改密码,我知道这很忙。我就是这样做的:

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

欢迎任何更好的解决方案。

【讨论】:

    猜你喜欢
    • 2016-07-19
    • 2018-11-18
    • 2015-03-25
    • 1970-01-01
    • 2013-07-31
    • 2013-12-05
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多