正如用户插孔想要在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是。