我正在创建一个自定义 portlet。
当用户在我的自定义 portlet 中执行某些操作后,我需要从门户注销该用户。我正在扩展 liferay 的 MVCPortlet
。
在 MyPortlet
的操作方法之一中,我需要编写代码来注销用户,然后将其重定向到主页。
更新:
我尝试了以下操作,我认为注销用户但注销后不会重定向到主页:
actionResponse.sendRedirect(PortalUtil.getPortalURL(actionRequest) + "/c/portal/logout");
谢谢大家
最佳答案
好吧,这可能是一个很晚的回复,但它可能会对某人有所帮助
首先,您必须验证 session 并重定向到注销 URL。否则,即使我们重定向到注销 URL, session 仍会保留并且用户会移至登录页面。所以,这就是一个人应该做的事情
HttpServletRequest request = PortalUtil.getHttpServletRequest(actionRequest);
request.getSession().invalidate();
actionResponse.sendRedirect(themeDisplay.getURLSignOut());
希望这有帮助。
关于liferay - 如何以编程方式从 Liferay 自定义 portlet 注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12857247/