2017-05-08 5 views
0

コントロールパネル - >ユーザー - >監視を使用してliferayで管理者としてログインしている場合、他のユーザーのセッションを終了できます。しかし、私はそれをプログラム的にすることができるのだろうか?私は強制的なログアウトを持つユーザー管理を作成しようとしているからです。ありがとう。プログラムでliferayの他のユーザーをセッション/ログアウトする方法

答えて

1

オプション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

+0

に見られるように。 –

関連する問題