問題
- 全ユーザーのパスワードをリセットする必要があります。 ユーザー数が多いため、手作業で行うのは困難です。 この機能はすぐに使えるのか、それとも最善の方法があるのか?
Environment
- Liferay DXP 7.3+
解決策
- 残念ながら、パスワードの大量リセットはOOTB Liferayでは利用できません。
-
しかし、これはgroovyスクリプトを使うことで実現できる。 Liferay DXP 7.3環境用に作成された proof of concept スクリプトを以下に掲載します。
import com.liferay.portal.kernel.model.User;
import com.liferay.portal.kernel.service.UserLocalServiceUtil;
long companyId = 12345;
List<User> users = UserLocalServiceUtil.getCompanyUsers(companyId, -1, -1);
for (User user : users) {
out.println("This user will get a password reset mail: " + user.getUserId())
// UserLocalServiceUtil.sendPasswordByUserId(user.getUserId());
} -
userIdsを取得するために、以前は getCompanyUsers() メソッドを使用しました。 最初に、このスクリプトはパスワードリセットメールを受け取るユーザの userIds を出力します。
追加情報
- また、 UserLocalServiceUtil クラスから、必要に応じて他のメソッドを使用することもできます。 https://github.com/liferay/liferay-portal/blob/7.3.x/portal-kernel/src/com/liferay/portal/kernel/service/UserLocalServiceUtil.java
会員限定記事
Liferay エンタープライズ サブスクリプションをお持ちのお客様は1500件を超えるベストプラクティス、トラブルシューティング、その他のソリューション記事を閲覧できます。ログインすると、記事全体をお読みいただけます。
ログイン