正在检查Liferay应用程序显示模板中的权限

正在检查Liferay应用程序显示模板中的权限,liferay,liferay-6,Liferay,Liferay 6,我正在为SiteMapPortlet开发一个应用程序显示模板(freemarker),以便在页面页脚的布局中呈现。到目前为止一切正常。我可以遍历我的页面并呈现正确的结果。检查页面是否也是隐藏工作 现在我还需要一个功能。我想检查一个页面是否只能被登录的用户访问(=当页面权限禁止来宾查看页面时,不显示指向来宾用户的链接) 这是我的ADT代码 <#if entries?has_content> <#list entries as entry> <#

我正在为SiteMapPortlet开发一个应用程序显示模板(freemarker),以便在页面页脚的布局中呈现。到目前为止一切正常。我可以遍历我的页面并呈现正确的结果。检查页面是否也是隐藏工作

现在我还需要一个功能。我想检查一个页面是否只能被登录的用户访问(=当页面权限禁止来宾查看页面时,不显示指向来宾用户的链接)

这是我的ADT代码

<#if entries?has_content>
    <#list entries as entry>
        <#assign layoutURL = portalUtil.getLayoutURL(entry, themeDisplay)>

        <div class="grid3">
            <ul>
                <#if entry.isHidden() == false> 
                    <li><a href="${layoutURL}">${entry.getName(locale)}</a></li>
                </#if>
            </ul>
        </div>
    </#list>
</#if>

也许
${themeDisplay.getPermissionChecker()}
可以做到这一点,但我并不知道如何检查页面上的用户权限。在一个完美的世界里,我可以区分不同的用户组,但我满足于登录时显示,匿名时隐藏(=来宾)


我正在使用Liferay 6.2。有人有主意吗

您要做的是检查给定页面(布局)的查看权限。

Freemarker代码段:

layoutPermission.contains(permissionChecker, entry.getPlid(), 'VIEW')
<#if themeDisplay.isSignedIn()>
    <#-- user is logged in -->
<#else>
    <#-- user is guest -->
</#if>
layoutPermission
可用于所有ADT模板和界面参考<代码>条目表示当前的
布局
实例

我接受了Liferay论坛上的建议

如果用户登录,您可以拨打电话

Freemarker代码段:

layoutPermission.contains(permissionChecker, entry.getPlid(), 'VIEW')
<#if themeDisplay.isSignedIn()>
    <#-- user is logged in -->
<#else>
    <#-- user is guest -->
</#if>

您要做的是检查给定页面(布局)的查看权限。

Freemarker代码段:

layoutPermission.contains(permissionChecker, entry.getPlid(), 'VIEW')
<#if themeDisplay.isSignedIn()>
    <#-- user is logged in -->
<#else>
    <#-- user is guest -->
</#if>
layoutPermission
可用于所有ADT模板和界面参考<代码>条目表示当前的
布局
实例

我接受了Liferay论坛上的建议

如果用户登录,您可以拨打电话

Freemarker代码段:

layoutPermission.contains(permissionChecker, entry.getPlid(), 'VIEW')
<#if themeDisplay.isSignedIn()>
    <#-- user is logged in -->
<#else>
    <#-- user is guest -->
</#if>


我也想到了themeDisplay.isSignedIn(),但这对页面权限有帮助吗?我不想构建两个独立的导航,而是构建一个导航,在遍历页面树时将权限标记考虑在内。没有详细信息权限的更简单的解决方案仍然需要识别不允许登录用户查看nav项目。区分A组和B组很好,但并不重要。因此,基本上我需要知道某个页面是否对所有人都可见,或者是否仅限于登录用户,这样我就可以避免为来宾用户呈现某些链接。我认为使用themeDisplay.isSignedIn()可能不是解决方案,因为我不想排除静态页面黑名单。我想使用Liferay网站管理功能自由设置页面权限。你说得对。这个问题我读得不够仔细。主题显示#isSignedIn只能用于检查用户是否已登录(或访客)。它不会评估用户对单个页面(布局)的权限。完美。就是这样。谢谢你的帮助。我也想到了themeDisplay.isSignedIn(),但这对页面权限有帮助吗?我不想构建两个独立的导航,而是构建一个导航,在遍历页面树时将权限标记考虑在内。没有详细信息权限的更简单的解决方案仍然需要识别不允许登录用户查看nav项目。区分A组和B组很好,但并不重要。因此,基本上我需要知道某个页面是否对所有人都可见,或者是否仅限于登录用户,这样我就可以避免为来宾用户呈现某些链接。我认为使用themeDisplay.isSignedIn()可能不是解决方案,因为我不想排除静态页面黑名单。我想使用Liferay网站管理功能自由设置页面权限。你说得对。这个问题我读得不够仔细。主题显示#isSignedIn只能用于检查用户是否已登录(或访客)。它不会评估用户对单个页面(布局)的权限。完美。就是这样。谢谢你的帮助。