我不确定我是否可以通过简单的配置来实现这一点,或者我需要覆盖它的LogoutAction。
我已经配置了多个组织,每个组织都有自己的网站,我想导航到我的自定义网址为不同的网站,而不是从liferay注销时的默认网址。
编辑我想导航在不同的网址为每个网站,而不是一个共同的网址。
谢谢
发布于 2016-01-22 16:51:39
为此,您可以使用default.logout.page.path属性(在portal-ext.properties文件中)
default.logout.page.path=
#default.logout.page.path=/web/guest/logout发布于 2016-01-22 17:35:05
我认为你可以通过钩子覆盖LogoutPostAction来实现这一点。
portal.properties中定义LogoutPostAction类:logout.events.post=com.my.action.MyLogoutPostAction
公共类MyLogoutPostAction扩展操作{ @Override public void run(HttpServletRequest request,HttpServletResponse response)抛出异常{ try { doRun(request,response);} catch (Exception e) { throw new ActionException(e);}} protected void doRun(HttpServletRequest request,HttpServletResponse response)抛出异常{ long groupId = PortalUtil.getScopeGroupId(httpReq);//获取组的代码// ....// ....// String postLogoutURL =“创建自己的URL";//如果需要,添加参数postLogoutURL = HttpUtil.setParameter(postLogoutURL,"my_param","my_param_value");//重定向到该URL response.sendRedirect(postLogoutURL);} }
对于这种方法,唯一可能成为障碍的是,如果Liferay丢失了用户从其中注销的当前组的上下文。我还没有测试代码。
https://stackoverflow.com/questions/34939995
复制相似问题