我已从Liferay UI中删除了用户。有时候它要求停用然后删除。有些时候只能停用。并且用户不会始终使用db。因此,同样用户的娱乐是不可能的,因为它会抛出错误,例如"电子邮件地址已经存在或者用户名存在"。
为什么用户从UI删除后没有从DB中删除?
我正在使用liferay-portal-6.1.1-ce-ga2。
如何解决这个问题?
答案 0 :(得分:11)
Deactivate
和Delete
是两种不同的功能。
当您Deactivate
用户仍在数据库中时,只有status
更改为停用。这被称为soft-delete或逻辑删除,即用户停用将无法登录,也不会出现在任何搜索等中。但优点是您可以让用户恢复生机只需Activate
- 用户。因此,这不需要您重新创建用户,也有助于保持用户的历史记录或操作。
如果要从数据库中删除用户,请转到控制面板→用户&组织→单击搜索所有用户→通过高级或基本搜索搜索用户→选择用户→单击停用。
在此之后,执行高级搜索→选择状态为非活动→您将找到所有已取消激活的用户→选择它们并单击删除。
希望这有帮助。
(感谢@hudolejev在下面的评论中指出这一点)
另请注意,以下属性设置为true
以删除portal-ext.properties
中的用户,默认情况下为true
:
#
# Set this to false if users cannot be deleted.
#
users.delete=true
答案 1 :(得分:1)
手动删除:
如果您想直接从数据库中删除,请确保删除下一个表中与该用户相关的所有记录:
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';
答案 2 :(得分:0)
当您刚刚取消激活用户时,它仍然存在于Liferay数据库中,因此在每次取消激活后,尝试找到已停用的用户,然后将其删除。
如果您在停用后未找到用户,请尝试转到服务器管理并重新索引所有搜索索引。然后再试一次。
此致 和Manish