Например в определенном Portal Instance. Можно конечно штатно - через UI - но если их много - то это займет много времени. К тому же удаление идет не напрямую - а сначала надо отключить, а только потом удалить.
Есть более просто решение - Script панель в Control Panel -> Server Administration
Там можно вызвать относительно любой код используя различные сервисы Liferay.
В частности - если надо удалить пользователей для какого-то определенного Portal Instance (companyId) можно использовать следующий Script:
// get users
users = Packages.com.liferay.portal.service.UserLocalServiceUtil.getUsers(-1,-1);
companyId = xxxxx; // put companyid here
out.println(users.size());
count=0;
// enumerate all users
for (var i = 0; i < users.size(); i++) {
user = users.get(i);
if (user.getCompanyId() == companyId) {
// we cannot remove "default" user
if (!user.isDefaultUser()) {
Packages.com.liferay.portal.service.UserLocalServiceUtil.deleteUser(user);
count++; // count removed users
}
}
}
out.println(count);
1 комментарий:
То что можно всех удалить так просто и быстро - это замечательно, но можно ли так же получить всю информацию обо всех пользователях портала в один файл? Например, как было в экспорте зарегистрированных пользователей + статус (активный / не активный), + все роли (включая роли сайтов)?
Отправить комментарий