Liferay 6.2 portlet自定义角色

Liferay 6.2 portlet自定义角色,liferay,liferay-6,liferay-theme,Liferay,Liferay 6,Liferay Theme,我已经创建了一个自定义的常规角色,并将其插入到so portlet(安全角色ref元素)的portlet.xml中,还将其映射到liferay-portlet.xml中的相应角色。 但是,当用户仅拥有此自定义常规角色时,将显示一条错误消息“您没有访问此portlet所需的角色”。 同样奇怪的是,这种情况只发生在用户的个人站点上,在任何其他站点上,用户都可以查看特定的portlet 有人知道这一点吗?如果我记得很清楚,个人网站是一个私人网站,因此我认为您的用户不是网站成员,这是查看私人页面的必要条

我已经创建了一个自定义的常规角色,并将其插入到so portlet(安全角色ref元素)的portlet.xml中,还将其映射到liferay-portlet.xml中的相应角色。 但是,当用户仅拥有此自定义常规角色时,将显示一条错误消息“您没有访问此portlet所需的角色”。 同样奇怪的是,这种情况只发生在用户的个人站点上,在任何其他站点上,用户都可以查看特定的portlet


有人知道这一点吗?

如果我记得很清楚,个人网站是一个私人网站,因此我认为您的用户不是网站成员,这是查看私人页面的必要条件。

由于您的应用程序有自定义的常规角色,您应该编辑默认角色权限

  • 以管理员身份登录
  • 转到
    控制面板
    角色
  • 找到您的角色,然后从右侧的
    操作
    菜单中,选择
    定义权限
  • 从左侧菜单中,找到您的应用程序
  • 编辑您的权限。确保为您的角色授予“查看”操作。此外,您还可以允许所有站点使用它(默认设置),也可以只选择“用户个人站点”
  • 现在,如果您想为特定的portlet实例创建一个例外(这就是我在问题中的意思,在注释中),您可以:

  • 以管理员身份登录
  • 导航到添加portlet实例的特定页面
  • 启用编辑控件,并编辑portlet(右上角的小菜单,带有扳手图标)
  • 选择
    权限
    并允许您的角色查看portlet

  • 是的,但是我的用户实际上能够查看此portlet所在的页面,并且还可以正常查看同一页面上的其他portlet。您可以检查特定portlet实例的设置/权限吗?这些设置覆盖了门户的权限和Portlet的默认权限。我正在使用social office主题,so Portlet嵌入在该主题中。默认情况下,在边栏_portlets.vm中,portlet首选项设置如下$velocityPortletPreferences.setValue(“displayStyle”,“0”)$velocityPortletPreferences.setValue(“portletSetupShowBorders”,“false”)是否可以更改这些portlet权限(例如,哪些角色可以查看此portlet)程序设计?嗯,我不是这个意思:)我已经给你发了一个答案。不,您不应该以编程方式编辑角色,您应该使用提供的界面。您的答案是正确的,应该应用在我的案例中,但我所说的portlet是so portlet[用户栏,站点-so portlet中的两个不同portlet]此应用程序列表中不可用-因为它在每个网站页面左侧栏的“添加应用程序”列表中也不可用。