Login Liferay自定义单点登录,带有重定向和参数
这是我在这里的第一个问题,它相当棘手,因为我没有在网上找到足够的相关资源。所以我真的希望能得到一些帮助: 我正在使用Liferay 6.2 GA4进行自定义单点登录。因此,我开发了一个自定义登录挂钩,可以处理我的URL,如下所示: 从这里,我解码q参数以获得登录参数和其他参数,我需要决定重定向到哪个页面,并将属性传递给请求Login Liferay自定义单点登录,带有重定向和参数,login,liferay,parameter-passing,single-sign-on,hook,Login,Liferay,Parameter Passing,Single Sign On,Hook,这是我在这里的第一个问题,它相当棘手,因为我没有在网上找到足够的相关资源。所以我真的希望能得到一些帮助: 我正在使用Liferay 6.2 GA4进行自定义单点登录。因此,我开发了一个自定义登录挂钩,可以处理我的URL,如下所示: 从这里,我解码q参数以获得登录参数和其他参数,我需要决定重定向到哪个页面,并将属性传递给请求 request.setAttribute("myParam", recordId); 及 我还有一个LoginPostation,之后会调用它,现在它就在这里,变得很棘手
request.setAttribute("myParam", recordId);
及
我还有一个LoginPostation,之后会调用它,现在它就在这里,变得很棘手:
public final void run(final HttpServletRequest request, final HttpServletResponse response)
throws ActionException {
...
final PortletURL redirectURL = PortletURLFactoryUtil.create(
request, "portlet_WAR_myportlet",
>>>> PortalUtil.getPlidFromPortletId(???, "portlet_WAR_myportlet"),
PortletRequest.RENDER_PHASE);
redirectURL.setParameter("myParam", String.valueOf(request.getAttribute("myParam")));
response.sendRedirect(redirectURL.toString());
}
因此,我有portlet名称(PortletId),但我无法从中获取Plid,因为我现在没有主题显示
第一个问题:此时如何创建PortletURL,我可以在sendRedirect()中使用它?
第二:我还尝试设置属性并硬编码sendRedirect(“/urlToMyPortlet”),但是我现在不能再使用它了,因为当我在下一页尝试获取它时,它会丢失(并且为null)
有什么建议吗
提前多谢了,
rom12threePortalTil.getPlidFromPortletId(groupId,portletId)需要groupId,您有groupId吗?另外,如果您传递一个硬编码的URL,那么您只能选择将参数作为queryString传递,并从httpServletRequest对象提取它。
public final void run(final HttpServletRequest request, final HttpServletResponse response)
throws ActionException {
...
final PortletURL redirectURL = PortletURLFactoryUtil.create(
request, "portlet_WAR_myportlet",
>>>> PortalUtil.getPlidFromPortletId(???, "portlet_WAR_myportlet"),
PortletRequest.RENDER_PHASE);
redirectURL.setParameter("myParam", String.valueOf(request.getAttribute("myParam")));
response.sendRedirect(redirectURL.toString());
}