看起來Liferay的自動登錄掛鉤不會註銷當前用戶。所以,我想用下面的方法調用去做編程:Liferay - 自動登錄掛鉤/ portlet不會註銷當前用戶
request.getSession().invalidate();
,但沒有success.Does人曾與自動登錄鉤同樣的問題?
看起來Liferay的自動登錄掛鉤不會註銷當前用戶。所以,我想用下面的方法調用去做編程:Liferay - 自動登錄掛鉤/ portlet不會註銷當前用戶
request.getSession().invalidate();
,但沒有success.Does人曾與自動登錄鉤同樣的問題?
主要的問題是,如果一個用戶登錄,一個自動登錄過濾器沒有執行,所以你不能做任何註銷操作。
對於我的解決方案,我創建了一個servlet過濾器,該過濾器檢查一些paramteres的autologin並執行註銷過程。爲了創建一個過濾器1按照本指南:http://www.liferaysavvy.com/2016/02/liferay-servlet-filter-hooks.html
我在的doFilter方法註銷代碼(Servlet過濾器):
final HttpServletRequest httpServletRequest = (HttpServletRequest) request;
final HttpSession session = request.getSession(false);
if (session != null)
{
session.invalidate();
}
filterChain.doFilter(request, response);
您可以重定向到/ C /門/註銷 –
你在哪裏打電話。'request.getSession()無效();'?如果您從其中一個定製portlet調用它,則只會使Web應用程序的會話無效,而不會使Liferay會話失效。 –