关联控制 - 访问被拒绝

时间:2015-06-02 09:05:36

标签: alfresco alfresco-share

我使用Alfresco Share 4.2c和association.ftl来显示关联并允许选择存储库中的对象。我遇到问题是为没有权限查看关联对象的用户显示元数据。 我收到了一个错误:

模板处理错误: " get(properties)在org.alfresco.repo.template.TemplateNode"的实例上失败在org.alfresco.repo.template.TemplateNode的实例上get(properties)失败。 有问题的指示:---------- ==> $ {row.item.properties.name!""}转义$ {jsonUtils.encodeJSONString(row.item.properties.name!"")} [第36行,第36行42 in org / alfresco / repository / forms / pickerresults.lib.ftl]  在user-directive pickerResultsLib.pickerResultsJSON [第2行,org / alfresco / repository / forms / pickeritems.post.json.ftl中的第1列]

和AccessDeniedException。

对此问题的任何帮助或建议表示赞赏。 我还希望在文档详细信息页面上有一个标签,其中包含文本"访问被拒绝"。 也许我必须创建自定义association.ftl? 提前谢谢!

1 个答案:

答案 0 :(得分:2)

/alfresco/templates/webscripts/org/alfresco/repository/forms/pickerresults.lib.ftl 复制到扩展程序文件夹并更改以下循环

<#list results as row>
            {
                "type": "${row.item.typeShort}",
                "parentType": "${row.item.parentTypeShort!""}",
                "isContainer": ${row.item.isContainer?string},
                "name": "${row.item.properties.name!""}",
                "title": "${row.item.properties.title!""}",
                "description": "${row.item.properties.description!""}",
                <#if row.item.properties.modified??>"modified": "${xmldate(row.item.properties.modified)}",</#if>
                <#if row.item.properties.modifier??>"modifier": "${row.item.properties.modifier}",</#if>
                <#if row.item.siteShortName??>"site": "${row.item.siteShortName}",</#if>
                "displayPath": "${row.item.displayPath!""}",
                "nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
                "selectable" : ${row.selectable?string}</#if>
            }<#if row_has_next>,</#if>
        </#list>

如果row.item.hasPermission(“Read”),则使用额外的封装内部 像这样:

    <#list results as row>
        <#if row.item.hasPermission("Read")>
                {
                    "type": "${row.item.typeShort}",
                    "parentType": "${row.item.parentTypeShort!""}",
                    "isContainer": ${row.item.isContainer?string},
                    "name": "${row.item.properties.name!""}",
                    "title": "${row.item.properties.title!""}",
                    "description": "${row.item.properties.description!""}",
                    <#if row.item.properties.modified??>"modified": "${xmldate(row.item.properties.modified)}",</#if>
                    <#if row.item.properties.modifier??>"modifier": "${row.item.properties.modifier}",</#if>
                    <#if row.item.siteShortName??>"site": "${row.item.siteShortName}",</#if>
                    "displayPath": "${row.item.displayPath!""}",
                    "nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
                    "selectable" : ${row.selectable?string}</#if>
                }<#if row_has_next>,</#if>
            </#if>
</#list>