2013-07-22 44 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是。

回答