Liferay:只能在网站的某些页面中添加网页内容的角色

时间:2012-10-08 17:50:06

标签: liferay-6

是否可以定义一个只能在网站的某些页面中创建/读取/更新/删除网页内容的角色?例如,角色“NewsContent”只能将Web内容添加到新闻页面(及其子页面)。

到目前为止,我无法实现这一点,因为在向角色添加权限时我没有看到这样的内容。我可以为角色设置“添加网络内容”权限,但拥有此权限后,具有此角色的用户将能够在网站的所有页面中添加网络内容。

我希望这是可行的,因为这个功能对我的应用非常重要。 提前谢谢!

2 个答案:

答案 0 :(得分:0)

您的应用程序中是否有Portlet?如果是这样,下面针对基于JSF的portlet的解决方案可以提供帮助。

根据我的理解" NewsContent"角色只能将网页内容添加到新闻页面。所以,我猜你有一个显示新闻页面的Portlet。在这种情况下,从Liferay DB获取用户的角色。

FacesContext context = FacesContext.getCurrentInstance();
        javax.faces.context.ExternalContext externalContext = context.getExternalContext();
if(externalContext.isUserInRole("NewsContent"))
{
  //Allow this user to do what you want him to do
}

如果您没有使用基于JSF的Portlet,您仍然可以查询Liferay DB并通过查询USER_USERS_ROLESROLE_来获取登录用户的角色表。

答案 1 :(得分:0)

进入Control-Panel =>角色

选择您为其分配用户的特定角色 选择该角色的定义权限 选择网站管理 在站点中仅启用“管理页面”复选框 现在,具有该特定角色的用户可以在网页上展示广告网络内容。

这将解决您的问题。