2013-07-22 65 views
0

正如用戶插孔想要在this後,我需要做一個使用登錄通過令牌認證的portlet。
如上所述,portal-impl.jar無法供我使用,因此LoginUtil.login無法訪問。
此外,添加功能到現有的ext plugin幾乎是不可能的,因爲他是在等待「密集」,而創建另一個是一個不好的做法。
所以我選擇了基於LoginUtil中的login()邏輯創建我自己的登錄功能。它基本上是相同的代碼,但所需的portal-impl.jar的屬性存儲在本地(升級到更新的Liferay版本是不可能的,所以我認爲可以這樣做)。
一切似乎工作正常,但我沒有登錄,沒有在Tomcat中的錯誤顯示。現在Liferay登錄如何工作?

,我的問題是,我不知道哪塊代碼的實際登錄用戶
我想這是這個

 session.setAttribute("j_username", userIdString); 
     session.setAttribute("j_password", user.getPassword()); 
     session.setAttribute("j_remoteuser", userIdString); 

     session.setAttribute(WebKeys.USER_PASSWORD, password); 

PS:我的自定義登錄方法後(我重複,它具有相同的代碼LoginUtil的登錄方法),如果我把下面的代碼:

ThemeDisplay td = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); 
User uu = td.getUser(); 
System.out.println("user = " + uu.getEmailAddress()); 

它將輸出user = [email protected],所以登錄失敗。
用戶在那個代碼中登錄?!

PPS:我portal-ext.properties ,這裏有以下加載項:

auth.pipeline.enable.liferay.check=false
session.enable.persistent.cookies=true
session.enable.phishing.protection=false
session.disabled=false
session.test.cookie.support=true

我的Liferay版本5.2.3是。

回答