0

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

到目前为止,我无法实现这一点,因为在向角色添加权限时我没有看到任何类似的东西。我可以将“添加 Web 内容”权限设置为角色,但使用此权限,具有此角色的用户将能够在站点的所有页面中添加 Web 内容。

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

4

2 回答 2

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并通过查询 in 和表来获取登录用户的USER_角色。USERS_ROLESROLE_

于 2012-10-11T06:15:21.547 回答
0

进入控制面板=>角色

选择您分配给用户的特定角色 选择为该角色定义权限 选择站点管理 仅启用站点中的管理页面复选框 现在具有该特定角色的用户能够在页面上发布 Web 内容。

这将解决您的问题。

于 2013-12-03T06:53:43.323 回答