2013-08-06 32 views
1

我遇到了一個我正在實施的場景的大問題,任何幫助/指針都將非常感謝。通過openid身份驗證登錄Liferay的鏈接

場景如下:

  1. 用戶登錄到系統1,其是用於Liferay門戶OpenID提供
  2. 用戶正在呈現與含有OpenID身份和一個id
  3. 用戶的鏈路按下該鏈接並打開一個新的瀏覽器選項卡,並且用戶正在登錄到Liferay門戶(如果未通過身份驗證)重定向到system1登錄頁面
  4. 驗證過程必須通過OpenId完成,並從OpenId標識提供程序

我發現我應該使用一個實現自動登錄的掛鉤來實現liferay並且沒有問題。

的問題是使用OpenID身份驗證和獲取數據從的OpenID

誰能幫我一下OpenID和如何將其與Liferay的


喜每一個人,感謝您迴應集成。 我用這個鏈接use autologin in liferay
然後使用這個類4 openid RegistrationService.java class和開放ID現在工作正常問題是,在這個登錄鏈接我們有一些參數,我們必須在其他戰爭文件中使用如何存儲此參數在會話中,然後在用openid進行身份驗證後進行檢索? 問候

+1

可以向我們展示至少你試過了什麼? –

+1

借調基督徒:請提供更多關於你所嘗試的信息。另外,Liferay開箱即用的OpenId實現有什麼問題?你不能使用哪一方面,以便實施你自己的解決方案? –

+0

所以我搜索了一下,發現liferay有一個OpenIdAutoLogin類。 現在我想知道: 如何修改和使用OpenIdAutoLogin來解決openid認證和重定向到system.regards –

回答

1

我發現的Portlet和Servlet它的工作原理上的Liferay 6.1.1 首先,我在Liferay的-portlet.xml中添加以下代碼啓用專用Portlet會話之間的會話共享的解決方案 <private-session-attributes>true</private-session-attributes>

共享門戶和portlet之間的會話。通過在屬性文件中配置以下屬性 session.shared.attributes= LIFERAY_SHARED_ , APP_SHARED_

,然後在servlet類鉤子模塊的定義中portal-ext.properties文件共享的會話屬性

HttpSession的會議= request.getSession(假) ; session.setAttribute(「APP_SHARED_test」,testValue); 。APP_SHARED_test

字符串verCode =(字符串)actionRequest.getPortletSession()的getAttribute( 「APP_SHARED_ver_code」,PortletSession.APPLICATION_SCOPE)的

,然後在你的控制器,你可以得到價值;