我知道,如果您使用控制面板->用户->监视在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);


如LogoutAction.java中所示

08-18 00:19
查看更多