Jav*_*ava 0 liferay jsf-2 liferay-6
我正在开发一个JSF 2.0(带有primefaces 3.2)应用程序,我想在Liferay中集成我的JSF应用程序.我是Liferay的新手,要求是应用程序将通过Liferay进入.
这意味着用户将登录,这应该通过Liferay进行.然后正如我在liferay'Liferayhomepage'登录后在liferay基本视频中看到的那样.
现在请指导我,在该主页内或登录后我应该能够看到我正在开发的JSF应用程序(你可以说我的应用程序将是liferay中的一个portlet)对吗?并且应该能够根据您在Liferay中应用的"角色"进行导航.我怎样才能做到这一点?
第二个问题是,一旦我进入我的JSF应用程序,我肯定需要'userId',它将是唯一的,用于从数据库执行数据的插入和检索.如何在我的JSF应用程序中使用它?如果任何人都可以用一个简单的例子来解释,那将会非常有用,因为这是我被困的地方.请帮帮我.
简而言之,可以通过liferay调用单独的JSF应用程序吗?在这里我通过liferay进入,因为liferay提供了"角色",因此一旦通过liferay登录,他应该能够根据角色(如管理员,高级用户等)进入我的JSF应用程序.(这正是我想要做)
如果有人需要更多关于我的问题的澄清,请告诉我.
正如Mark已经提到的,你可以在这里找到jsf portlet的例子(也有primefaces)http://www.liferay.com/community/liferay-projects/liferay-faces/demos
在您的jsf portlet中,您可以通过以下方式获取用户对象(包含角色):
public static User getCurrentUser(){
User u = null;
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext externalContext = fc.getExternalContext();
if (externalContext.getUserPrincipal() != null) {
Long id = Long.parseLong(externalContext.getUserPrincipal().getName());
try {
u = UserLocalServiceUtil.getUserById(id);
}
catch (Exception ex) {
LOG.error(ex.getMessage());
}
}
return u;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4866 次 |
| 最近记录: |