【问题标题】:Liferay distinguish between public and internal pages and hide/show them as neededLiferay 区分公共页面和内部页面,并根据需要隐藏/显示它们
【发布时间】:2014-09-21 20:31:08
【问题描述】:

情况

我想用 Liferay 的开源门户软件创建一个类似社区的网站/门户。 我现在的问题是,我不知道如何实现分离或部分分离的站点。应该有可能在登录之前有一些页面,以通知可能的未来用户,然后在注册/登录之后,一些内部页面显然不应该对未注册的用户可见。内部部分问题不大,因为我可以设置站点的用户权限,所以“访客”用户看不到它们。但是如果我为公共访客创建页面,它们也会在登录时出现在内部。但是这些不应该在菜单中看到,但是如果我设置“从导航栏中隐藏页面”,它们显然也会在公共区域消失. 我还考虑过组织我的网站,无论如何最好让它有点结构化,以便内部部分与外部部分分开。

可能的解决方案

首先我尝试了公共和私人页面,但不幸的是我没有成功。也许这是可能的,但如果,那么我对他们做错了。

我想到的另一种方法是使用用户角色/权限,但我还没有弄清楚如何以一种有效的方式完成它,我也不确定这是否是实现这一目标的好方法。问题是每个用户都继承了“来宾”的权限,所以我不能对他们隐藏页面。我的意思是在内部导航中没有它就足够了。

我最后可能也是最接近的可行方法是社区/组织机制,但不幸的是,我找不到太多关于如何实现我想要的信息的信息。

如果有人可以帮助我,我会很高兴?

新方法

我想要的是一个“标志”/复选框或类似“隐藏菜单按钮”(内部/外部 -> 登录用户等...),我可以检查,什么会导致链接消失。

我在想也许有一个 CSS 样式的解决方案?页面的导航栏链接中是否有我可以通过 CSS/jQuery 处理和隐藏链接的属性?比如“私有”或“公共”属性之类的?

【问题讨论】:

    标签: open-source liferay portal


    【解决方案1】:

    最好的方法是使用 - 公共和私人页面。公共页面对访客用户可见,仅对成员私有。为了使它起作用,您必须相应地对您的主题进行编码。

    登录用户仍然可以访问公共页面,但您可以将它们从菜单中隐藏。

    蒂娜

    【讨论】:

    • 与上面 Rushikesh 的解决方案非常相似,但谢谢 :) 我也会尝试。
    【解决方案2】:

    您似乎想对内部用户隐藏“网站的公共页面”。如果不是不可能的话,通过权限来实现这一点将非常困难。您可能想尝试在主题的 navigation.vm 中编写此逻辑。

    如果您仍想使用 Liferay 配置实现此目的,请尝试以下步骤:

    • 从“控制面板”>“站点”中查找您的站点
    • 点击“管理页面”
    • 对“公共页面”下的每个页面执行以下操作
      1. 点击“权限”
      2. 删除“站点成员”角色的“查看”权限

    我自己没有尝试过,但应该可以。

    【讨论】:

    • 门户网站已经给定的机制不可能吗?我觉得这很奇怪,因为我不认为我是唯一想要实现这一目标的人,而且将其硬编码到主题中的方法对我来说似乎很不自然,但现在我会尝试一下,谢谢。
    • //在您编辑之后:就像我说的,您的第二种方法将不起作用,因为(而且我的外部站点甚至不再具有“站点成员”角色权限)每个成员内部都继承了'guest' 角色权限,因此他们仍然可以看到该页面。
    • 我明白了。很高兴知道您找到了解决方案 :)
    【解决方案3】:

    我玩了一会儿,现在找到了一个更好的解决方案(比硬编码或更改主题或任何东西更好)。

    我创建了两个站点(不是页面),其中一个具有“开放”会员类型,一个具有“私人”会员类型。 在“开放”站点中,我现在创建了面向公众且未登录用户的页面,因此它们在登录之前可见。 “私人”站点代表页面的“实习生活”,因此我创建的页面仅对登录/注册用户可见。 现在我在“开放”站点中创建一个指向“私人”站点的站点链接/默认登录页面。 然后只有内部站点对用户可见。

    不要将该解决方案与“公共”/“私人”页面混为一谈,因为它们的工作方式有些不同。

    我更喜欢这种解决方案,因为这样我就可以在外部和内部“世界”之间划分关注点。

    如果有人有更好的方法,我会很高兴听到这个:)

    在那之前,我希望也许我也可以帮助其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      • 2015-11-07
      • 1970-01-01
      • 2021-02-27
      • 2021-06-29
      • 1970-01-01
      • 2016-05-18
      相关资源
      最近更新 更多