1

我对正在实施的场景有一个大问题,任何帮助/指针将不胜感激。

场景如下:

  1. 用户登录到系统 1,这是 liferay 门户的 OpenId 提供程序
  2. 正在向用户显示包含 OpenId 身份和 id 的链接
  3. 用户按下链接并打开一个新的浏览器选项卡,如果未通过身份验证,则用户正在登录 liferay 门户,重定向到 system1 登录页面
  4. 身份验证过程必须通过 OpenId 完成,并从 OpenId 身份提供者获取一些数据

我发现我应该使用一个实现 AutoLogin 的钩子来为 liferay 通信并且没有问题。

问题是使用 OpenId 进行身份验证并从 OpenId 获取数据

任何人都可以帮助我了解 OpenId 以及它如何与 Liferay 集成


大家好,感谢您的回复。我使用此链接在 liferay 中使用自动登录,
然后使用此类 4 openid RegistrationService.java 类并且打开 id 现在可以正常工作问题是在此登录链接中,我们有一些必须在其他战争文件中使用的参数我怎么能将此参数存储在会话中,然后在使用 openid 进行身份验证后检索?问候

4

1 回答 1

1

我在 Portlet 和 Servlet 之间的会话共享中找到了解决方案,它适用于 liferay 6.1.1 首先我通过在 liferay-portlet.xml 中添加以下标记来启用私有 portlet 会话 <private-session-attributes>true</private-session-attributes>

在门户和 portlet 之间共享会话。通过在属性文件中配置以下属性,在 portal-ext.properties 文件中定义共享会话属性 session.shared.attributes= LIFERAY_SHARED_ , APP_SHARED_

然后在钩子模块的servlet类中

HttpSession 会话 = request.getSession(false); session.setAttribute("APP_SHARED_test",testValue);

然后在您的控制器中,您可以获得 APP_SHARED_test 的值

String verCode= (String)actionRequest.getPortletSession().getAttribute("APP_SHARED_ver_code",PortletSession.APPLICATION_SCOPE);

于 2013-08-28T05:45:47.703 回答