检查 Liferay 应用程序显示模板中的权限
Checking permissions in Liferay Application Display Template
我正在为站点地图 portlet 开发一个应用程序显示模板 (freemarker),以便在我的页面页脚布局中呈现。到目前为止一切正常。我可以遍历我的页面并呈现正确的结果。检查页面是否隐藏也有效。
现在我还需要一项功能。我想检查一个页面是否只能由登录用户访问(=当页面权限禁止来宾查看该页面时,不向来宾用户显示 link)。
这是我的 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()}
可以解决这个问题,但我真的不知道如何检查页面上的用户权限。在一个完美的世界中,我可以区分不同的用户组,但我会满足于在登录时显示,在匿名(=guest)时隐藏。
我正在使用 Liferay 6.2。有人知道吗?
您要做的是检查给定页面(布局)的查看权限。
Freemarker 片段:
layoutPermission.contains(permissionChecker, entry.getPlid(), 'VIEW')
layoutPermission
适用于所有 ADT 模板和引用 LayoutPermission
界面。 entry
表示当前 Layout
个实例。
我采纳了 Liferay 论坛上 this post 的建议。
简单查一下,如果用户登录了你可以调用ThemeDisplay#isSignedIn
.
Freemarker 片段:
<#if themeDisplay.isSignedIn()>
<#-- user is logged in -->
<#else>
<#-- user is guest -->
</#if>
我正在为站点地图 portlet 开发一个应用程序显示模板 (freemarker),以便在我的页面页脚布局中呈现。到目前为止一切正常。我可以遍历我的页面并呈现正确的结果。检查页面是否隐藏也有效。
现在我还需要一项功能。我想检查一个页面是否只能由登录用户访问(=当页面权限禁止来宾查看该页面时,不向来宾用户显示 link)。
这是我的 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()}
可以解决这个问题,但我真的不知道如何检查页面上的用户权限。在一个完美的世界中,我可以区分不同的用户组,但我会满足于在登录时显示,在匿名(=guest)时隐藏。
我正在使用 Liferay 6.2。有人知道吗?
您要做的是检查给定页面(布局)的查看权限。
Freemarker 片段:
layoutPermission.contains(permissionChecker, entry.getPlid(), 'VIEW')
layoutPermission
适用于所有 ADT 模板和引用 LayoutPermission
界面。 entry
表示当前 Layout
个实例。
我采纳了 Liferay 论坛上 this post 的建议。
简单查一下,如果用户登录了你可以调用ThemeDisplay#isSignedIn
.
Freemarker 片段:
<#if themeDisplay.isSignedIn()>
<#-- user is logged in -->
<#else>
<#-- user is guest -->
</#if>