我想定制Liferay 6.0.6机制来更新密码。
在我们的项目中,我们决定自己管理用户,因此我们将用户名和密码等所有数据保存在数据库中。我们不想使用Liferay的数据库,但似乎Liferay正在为自己维护并使用它。因此,我们在两个地方有用户的密码,我们必须关心数据同步。
自定义身份验证机制很容易-使用portal-ext.property中的auth.pipeline。
现在,当用户通过MyAccount portlet更改其密码时,我想调用我的自定义方法。我需要捕获用户在portlet中键入的当前密码和新密码。
我没有看到任何更新密码事件的门户属性。我试着写了一个定制UserLocalService的钩子插件,但到目前为止还没有成功。有没有可能用钩子来做这件事?
任何帮助都将不胜感激。提前谢谢。
发布于 2012-01-16 18:57:53
我发现我正在寻找的动作是com.liferay.portlet.myaccount.action.EditUserAction,并且作为一个struts动作,它可以使用ext插件进行定制(因为Liferay6.1甚至还使用钩子插件)。Liferay-plugins-sdk可用于创建可部署的插件,但您也可以直接在liferay上编辑配置文件(在本例中为struts- config -ext.xml)。希望这能对你们中的一些人有所帮助。
发布于 2016-04-18 19:45:26
如果您只需要通过用户id更改密码,请查看there - change password by user ID (设置新的pass、confirm和password reset布尔值)
(updaterUser对我不起作用)
https://stackoverflow.com/questions/8791604
复制相似问题