【发布时间】:2017-05-20 20:47:40
【问题描述】:
对于一个项目,我们使用 liferay,对于用户处理,我们使用 ldap。
从 ldap 中删除的用户并没有更新 liferay 的数据库,因此如果在删除后添加用户,则会导致问题。
我试图找出原因,似乎必须从许多表中删除用户。我们可以手动删除它,如下所述。
DELETE FROM Users_UserGroups WHERE userId = 'userid';
DELETE FROM Users_Roles WHERE userId = 'userid';
DELETE FROM Users_Orgs WHERE userId = 'userid';
DELETE FROM Contact_ WHERE userId = 'userid';
DELETE FROM Group_ WHERE classPK = 'userid';
DELETE FROM User_ WHERE userId = 'userid';
但是以编程方式我们如何做到这一点。
我尝试使用:
UserLocalServiceUtil.deleteUser(UserLocalServiceUtil
.getUserByEmailAddress(companyid, email));
但它不能正常工作。还有什么其他方法可以做到这一点?
【问题讨论】:
-
您在使用 Service 类删除用户时遇到哪些错误?数据库中遗留的任何特定引用?
-
在 liferay 中删除用户是两个步骤,首先是停用用户,然后您可以删除它。
-
从不建议直接更新数据库,因为很有可能产生不正确的数据。您必须提供适当的详细信息“什么不能正常工作?您看到了什么错误?”
-
请定义“它不能正常工作”