0
コントロールパネル - >ユーザー - >監視を使用してliferayで管理者としてログインしている場合、他のユーザーのセッションを終了できます。しかし、私はそれをプログラム的にすることができるのだろうか?私は強制的なログアウトを持つユーザー管理を作成しようとしているからです。ありがとう。プログラムでliferayの他のユーザーをセッション/ログアウトする方法
コントロールパネル - >ユーザー - >監視を使用してliferayで管理者としてログインしている場合、他のユーザーのセッションを終了できます。しかし、私はそれをプログラム的にすることができるのだろうか?私は強制的なログアウトを持つユーザー管理を作成しようとしているからです。ありがとう。プログラムでliferayの他のユーザーをセッション/ログアウトする方法
オプション1:
Liferay srcに示すように、次のコード行を使用してください。
HttpSession session = request.getSession();
EventsProcessorUtil.process(
PropsKeys.LOGOUT_EVENTS_PRE, PropsValues.LOGOUT_EVENTS_PRE,
request, response);
String domain = CookieKeys.getDomain(request);
Cookie companyIdCookie = new Cookie(
CookieKeys.COMPANY_ID, StringPool.BLANK);
if (Validator.isNotNull(domain)) {
companyIdCookie.setDomain(domain);
}
companyIdCookie.setMaxAge(0);
companyIdCookie.setPath(StringPool.SLASH);
Cookie idCookie = new Cookie(CookieKeys.ID, StringPool.BLANK);
if (Validator.isNotNull(domain)) {
idCookie.setDomain(domain);
}
idCookie.setMaxAge(0);
idCookie.setPath(StringPool.SLASH);
Cookie passwordCookie = new Cookie(
CookieKeys.PASSWORD, StringPool.BLANK);
if (Validator.isNotNull(domain)) {
passwordCookie.setDomain(domain);
}
passwordCookie.setMaxAge(0);
passwordCookie.setPath(StringPool.SLASH);
オプション2:
使用
AuthenticatedSessionManagerUtil.logout(request, response);
これは_other_ユーザーのセッションを殺すが、現在のユーザーではないでしょうLogoutAction.java
に見られるように。 –