【发布时间】:2012-05-27 21:11:59
【问题描述】:
如何在java中获取当前Liferay用户:
我发现了这个: How can I get the current user in Liferay? 和这个: Get the current user Liferay using a simple Java code
但是有人告诉如何初始化“请求”
【问题讨论】:
标签: java authentication liferay vaadin
如何在java中获取当前Liferay用户:
我发现了这个: How can I get the current user in Liferay? 和这个: Get the current user Liferay using a simple Java code
但是有人告诉如何初始化“请求”
【问题讨论】:
标签: java authentication liferay vaadin
我一直在使用 Vaadin 6.8.0 和 Liferay 6.1。这是使用 Henri Kerola 解决方案的一些不同的代码:
@Override
public void onRequestStart(PortletRequest request, PortletResponse response) {
try {
this.setUser(request.getUserPrincipal().getName());
} catch (Exception e) {
this.setUser("anonymous");
}
}
其中用户属性是 Vaadin 标签。由于匿名用户(来自 Liferay 的客人)的 getUserPrincipal nullPointer,try/catch 是必要的。
最好的问候,
【讨论】:
让你的 Vaadin 应用实现com.vaadin.terminal.gwt.server.PortletRequestListener,然后你就可以访问请求了:
public class MyApp extends Application implements PortletRequestListener {
public void init() {
…
}
@Override
public void onRequestStart(PortletRequest request, PortletResponse response) {
User user = PortalUtil.getUser(request);
setUser(user);
}
@Override
public void onRequestEnd(PortletRequest request, PortletResponse response) {
}
}
【讨论】:
您是否尝试在您的 Vaadin Portlet(应用程序)中使用方法:getUser()?
Vaadin Portlet 使用 Vaadin 特定框架包装了 Liferay API。因此 Vaadin Portlet 的开发有自己的规范,标准的 Liferay API 在这里并不简单。
【讨论】:
请求对象可用作操作或渲染方法以及 jsps 中的参数。您不需要对其进行初始化,它就在那里(参见例如 processAction(ActionRequest request, ActionResponse response) 的参数,渲染阶段、事件阶段和资源阶段也是如此(尽管与请求/响应的子类型不同) )。
【讨论】: