是否可以定义一个只能在网站的某些页面中创建/读取/更新/删除网页内容的角色?例如,角色“NewsContent”只能将Web内容添加到新闻页面(及其子页面)。
到目前为止,我无法实现这一点,因为在向角色添加权限时我没有看到这样的内容。我可以为角色设置“添加网络内容”权限,但拥有此权限后,具有此角色的用户将能够在网站的所有页面中添加网络内容。
我希望这是可行的,因为这个功能对我的应用非常重要。 提前谢谢!
答案 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_ROLES
和ROLE_
来获取登录用户的角色表。
答案 1 :(得分:0)
进入Control-Panel =>角色
选择您为其分配用户的特定角色 选择该角色的定义权限 选择网站管理 在站点中仅启用“管理页面”复选框 现在,具有该特定角色的用户可以在网页上展示广告网络内容。
这将解决您的问题。