liferay - 如何以编程方式从 Liferay 自定义 portlet 注销

标签 liferay logout liferay-6

我正在创建一个自定义 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/

相关文章:

elasticsearch - Liferay 中的 Elasticsearch 实现是开源的吗?

java - 在操作栏中注销

java - 修改同一个jsp文件的两个钩子(Hook)之间的冲突

angularjs - 如何使用 Liferay 配置 Angular JS?

java - 将时间转换为美国不同时区

java - 服务器生成悬停图像?

Liferay Portlet id 已在使用问题

Java - 程序运行后关闭计算机

jsp - 防止用户在注销后看到以前访问过的安全页面

java - Liferay 控制台 Groovy 脚本缺少方法错误