我正在为站点地图portlet开发一个应用程序显示模板(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>
Run Code Online (Sandbox Code Playgroud)
也许${themeDisplay.getPermissionChecker()}
可以做到这一点,但我真的不知道如何在页面上检查用户权限.在一个完美的世界里,我可以区分不同的用户群,但是我在登录时会选择显示,在匿名时隐藏(=来宾).
我正在使用Liferay 6.2.有人有个主意吗?
您要做的是检查给定页面的视图权限(布局).
Freemarker片段:
layoutPermission.contains(permissionChecker, entry.getPlid(), 'VIEW')
Run Code Online (Sandbox Code Playgroud)
layoutPermission
适用于所有ADT模板和参考LayoutPermission
界面.entry
表示当前Layout
实例.
我在Liferay论坛上接受了这篇文章的建议.
要简单地找出,如果用户登录,您可以打电话ThemeDisplay#isSignedIn
.
Freemarker片段:
<#if themeDisplay.isSignedIn()>
<#-- user is logged in -->
<#else>
<#-- user is guest -->
</#if>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1114 次 |
最近记录: |